class RuboCop::Cop::Metrics::ParameterLists

be excluded from the total count.
On Ruby 2.0+ keyword arguments can optionally
The maximum number of parameters in configurable.
This cop checks for methods with too many parameters.

def args_count(node)

def args_count(node)
  if count_keyword_args?
    node.children.size
  else
    node.children.reject { |a| a.type == :kwoptarg }.size
  end
end

def count_keyword_args?

def count_keyword_args?
  cop_config['CountKeywordArgs']
end

def max_params

def max_params
  cop_config['Max']
end

def on_args(node)

def on_args(node)
  count = args_count(node)
  return unless count > max_params
  add_offense(node, :expression, format(MSG, max_params)) do
    self.max = count
  end
end