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.
Checks for uses of the class/module name instead of

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
  message = format(MSG, method: node.method_name, class: name.source)
  add_offense(node.receiver.loc.name, message: message) do |corrector|
    corrector.replace(node.receiver, 'self')
  end
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) { |def_node| check_defs(node.identifier, def_node) }
  end
end