class RuboCop::Cop::Naming::BlockForwarding

def on_def(node)

def on_def(node)
  return if node.arguments.empty?
  last_argument = node.last_argument
  return if expected_block_forwarding_style?(node, last_argument)
  forwarded_args = node.each_descendant(:block_pass).with_object([]) do |block_pass, result|
    return nil if invalidates_syntax?(block_pass)
    next unless block_argument_name_matched?(block_pass, last_argument)
    result << block_pass
  end
  forwarded_args.each do |forwarded_arg|
    register_offense(forwarded_arg, node)
  end
  register_offense(last_argument, node)
end