Sha256: a7aed3f1a50aa1c515234397299404b4790e71a0a5ce169a06004759e261c639
Contents?: true
Size: 1.11 KB
Versions: 6791
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Metrics # This cop checks that the cyclomatic complexity of methods is not higher # than the configured maximum. The cyclomatic complexity is the number of # linearly independent paths through a method. The algorithm counts # decision points and adds one. # # An if statement (or unless or ?:) increases the complexity by one. An # else branch does not, since it doesn't add a decision point. The && # operator (or keyword and) can be converted to a nested if statement, # and ||/or is shorthand for a sequence of ifs, so they also add one. # Loops can be said to have an exit condition, so they add one. class CyclomaticComplexity < Cop include MethodComplexity MSG = 'Cyclomatic complexity for %<method>s is too high. ' \ '[%<complexity>d/%<max>d]'.freeze COUNTED_NODES = %i[if while until for rescue when and or].freeze private def complexity_score_for(_node) 1 end end end end end
Version data entries
6,791 entries across 6,785 versions & 25 rubygems