class RuboCop::Cop::Style::ClassMethods

end
end
# …
def self.class_method
class SomeClass
# good
end
end
# …
def SomeClass.class_method
class SomeClass
# bad
@example
self, when defining class/module methods.
This cop checks for uses of the class/module name instead of

def autocorrect(node)

def autocorrect(node)
  ->(corrector) { corrector.replace(node.loc.name, 'self') }
end

def check_defs(name, node)

def check_defs(name, node)
  # check if the class/module name matches the definee for the defs node
  return unless name == node.receiver
  add_offense(node.receiver, location: :name)
end

def message(node)

def message(node)
  _, class_name = *node
  format(MSG, method: node.parent.method_name, class: class_name)
end

def on_class(node)

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) do |def_node|
      check_defs(node.identifier, def_node)
    end
  end
end