class RuboCop::Cop::InternalAffairs::MethodNameEqual

Checks that method names are checked using `method?` method.

@example

# bad
node.method_name == :do_something

# good
node.method?(:do_something)

Constants

MSG
RESTRICT_ON_SEND

Public Instance Methods

on_send(node) click to toggle source
# File lib/rubocop/cop/internal_affairs/method_name_equal.rb, line 30
def on_send(node)
  method_name?(node) do |method_name_node, method_name_arg|
    message = format(MSG, method_name: method_name_arg.first.source)

    range = range(method_name_node, node)

    add_offense(range, message: message) do |corrector|
      corrector.replace(range, "method?(#{method_name_arg.first.source})")
    end
  end
end

Private Instance Methods

range(method_name_node, node) click to toggle source
# File lib/rubocop/cop/internal_affairs/method_name_equal.rb, line 44
def range(method_name_node, node)
  range_between(method_name_node.loc.selector.begin_pos, node.source_range.end_pos)
end