Class: Roodi::Checks::CyclomaticComplexityBlockCheck

Inherits:
CyclomaticComplexityCheck show all
Defined in:
lib/roodi/checks/cyclomatic_complexity_block_check.rb

Constant Summary collapse

DEFAULT_COMPLEXITY =
4

Constants inherited from CyclomaticComplexityCheck

Roodi::Checks::CyclomaticComplexityCheck::COMPLEXITY_NODE_TYPES

Instance Method Summary collapse

Methods inherited from Check

#add_error, #errors, #evaluate_node_at_line, #position

Constructor Details

#initialize(options = {}) ⇒ CyclomaticComplexityBlockCheck

Returns a new instance of CyclomaticComplexityBlockCheck.



11
12
13
14
# File 'lib/roodi/checks/cyclomatic_complexity_block_check.rb', line 11

def initialize(options = {})
  complexity = options['complexity'] || DEFAULT_COMPLEXITY
  super(complexity)
end

Instance Method Details

#evaluate(node) ⇒ Object



20
21
22
23
# File 'lib/roodi/checks/cyclomatic_complexity_block_check.rb', line 20

def evaluate(node)
  complexity = count_complexity(node)
  add_error({ :score => complexity }) unless complexity <= @complexity
end

#interesting_nodesObject



16
17
18
# File 'lib/roodi/checks/cyclomatic_complexity_block_check.rb', line 16

def interesting_nodes
  [:iter]
end