class RuboCop::Cop::InternalAffairs::NodeTypePredicate

Checks that node types are checked using the predicate helpers.

@example

# bad
node.type == :send

# good
node.send_type?

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/internal_affairs/node_type_predicate.rb, line 31
def autocorrect(node)
  receiver, node_type = node_type_check(node)
  range = Parser::Source::Range.new(node.source_range.source_buffer,
                                    receiver.loc.expression.end_pos + 1,
                                    node.loc.expression.end_pos)

  lambda do |corrector|
    corrector.replace(range, "#{node_type}_type?")
  end
end
on_send(node) click to toggle source
# File lib/rubocop/cop/internal_affairs/node_type_predicate.rb, line 23
def on_send(node)
  node_type_check(node) do |_receiver, node_type|
    return unless Parser::Meta::NODE_TYPES.include?(node_type)

    add_offense(node, message: format(MSG, type: node_type))
  end
end