Class: RuboCop::Cop::Style::ClassMethods

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector
Defined in:
lib/rubocop/cop/style/class_methods.rb

Overview

Checks for uses of the class/module name instead of self, when defining class/module methods.

Examples:

# bad
class SomeClass
  def SomeClass.class_method
    # ...
  end
end

# good
class SomeClass
  def self.class_method
    # ...
  end
end

Constant Summary collapse

MSG =
'Use `self.%<method>s` instead of `%<class>s.%<method>s`.'

Instance Method Summary collapse

Methods included from AutoCorrector

support_autocorrect?

Instance Method Details

#on_class(node) ⇒ Object Also known as: on_module



28
29
30
31
32
33
34
35
36
# File 'lib/rubocop/cop/style/class_methods.rb', line 28

def on_class(node)
  return unless node.body

  if node.body.defs_type?
    check_defs(node.identifier, node.body)
  elsif node.body.begin_type?
    node.body.each_child_node(:defs) { |def_node| check_defs(node.identifier, def_node) }
  end
end