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