module RuboCop::Cop::MethodComplexity
This module handles measurement and reporting of complexity in methods.
Private Instance Methods
complexity(node)
click to toggle source
# File lib/rubocop/cop/mixin/method_complexity.rb, line 23 def complexity(node) node.each_node(*self.class::COUNTED_NODES).reduce(1) do |score, n| score + complexity_score_for(n) end end
on_method_def(node, method_name, _args, _body)
click to toggle source
# File lib/rubocop/cop/mixin/method_complexity.rb, line 12 def on_method_def(node, method_name, _args, _body) max = cop_config['Max'] complexity = complexity(node) return unless complexity > max add_offense(node, :keyword, format(self.class::MSG, method_name, complexity, max)) do self.max = complexity.ceil end end