Class: CheapCoder::AbcEvaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/cheap_coder/abc_evaluator.rb

Instance Method Summary collapse

Constructor Details

#initializeAbcEvaluator

Returns a new instance of AbcEvaluator.



5
6
7
8
9
10
11
# File 'lib/cheap_coder/abc_evaluator.rb', line 5

def initialize
  @detectors = {
    A: NodeDetector::Assignment.new,
    B: NodeDetector::Branch.new,
    C: NodeDetector::Condition.new,
  }
end

Instance Method Details

#check(node) ⇒ Object



17
18
19
20
21
# File 'lib/cheap_coder/abc_evaluator.rb', line 17

def check(node)
  @detectors.each_value do |detector|
    detector.check(node)
  end
end

#scoreObject



13
14
15
# File 'lib/cheap_coder/abc_evaluator.rb', line 13

def score
  @detectors.transform_values(&:score)
end