class RuboCop::Cop::Style::CollectionMethods

can yield some false positives.
Enumerable or not (static analysis limitation), so this cop
Unfortunately we cannot actually know if a method is from
from the Enumerable module.
This cop enforces the use of consistent method names

def autocorrect(node)

def autocorrect(node)
  lambda do |corrector|
    corrector.replace(node.loc.selector,
                      preferred_method(node.loc.selector.source))
  end
end

def check_method_node(node)

def check_method_node(node)
  _receiver, method_name, *_args = *node
  return unless preferred_methods[method_name]
  add_offense(node, :selector,
              format(MSG,
                     preferred_method(method_name),
                     method_name))
end

def on_block(node)

def on_block(node)
  method, _args, _body = *node
  check_method_node(method)
end

def on_send(node)

def on_send(node)
  _receiver, _method_name, *args = *node
  return unless args.one? && args.first.block_pass_type?
  check_method_node(node)
end