class RuboCop::Cop::Style::ModuleFunction
implications to each approach.
These offenses are not auto-corrected since there are different
end
…
extend self
module Test
# Good if EnforcedStyle is extend_self
end
…
module_function
module Test
# Good if EnforcedStyle is module_function
@example
Supported styles are: module_function, extend_self.
module.
This cops checks for use of ‘extend self` or `module_function` in a
def each_wrong_style(nodes)
def each_wrong_style(nodes) nodes.each do |node| if style == :module_function && node == EXTEND_SELF_NODE yield node, MODULE_FUNCTION_MSG elsif style == :extend_self && node == MODULE_FUNCTION_NODE yield node, EXTEND_SELF_MSG end end end
def on_module(node)
def on_module(node) _name, body = *node return unless body && body.begin_type? each_wrong_style(body.children) do |child_node, msg| add_offense(child_node, :expression, msg) end end