class RubbyCop::Cop::Style::ClassCheck

This cop enforces consistent use of `Object#is_a?` or `Object#kind_of?`.

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubbycop/cop/style/class_check.rb, line 30
def autocorrect(node)
  lambda do |corrector|
    replacement = node.method?(:is_a?) ? 'kind_of?' : 'is_a?'

    corrector.replace(node.loc.selector, replacement)
  end
end
message(node) click to toggle source
# File lib/rubbycop/cop/style/class_check.rb, line 22
def message(node)
  if node.method?(:is_a?)
    format(MSG, 'kind_of?', 'is_a?')
  else
    format(MSG, 'is_a?', 'kind_of?')
  end
end
on_send(node) click to toggle source
# File lib/rubbycop/cop/style/class_check.rb, line 14
def on_send(node)
  class_check?(node) do |method_name|
    return if style == method_name

    add_offense(node, :selector)
  end
end