Class: Inquirex::Evaluator
- Inherits:
-
Object
- Object
- Inquirex::Evaluator
- Defined in:
- lib/inquirex/evaluator.rb
Overview
Evaluates rule AST nodes against a given answer context. Rule objects implement Rules::Base#evaluate.
Instance Attribute Summary collapse
-
#answers ⇒ Hash
readonly
current answer state (step_id => value).
Instance Method Summary collapse
-
#evaluate(rule) ⇒ Boolean
Evaluates a single rule (or returns true if rule is nil).
-
#initialize(answers) ⇒ Evaluator
constructor
A new instance of Evaluator.
Constructor Details
#initialize(answers) ⇒ Evaluator
Returns a new instance of Evaluator.
12 13 14 |
# File 'lib/inquirex/evaluator.rb', line 12 def initialize(answers) @answers = answers end |
Instance Attribute Details
#answers ⇒ Hash (readonly)
current answer state (step_id => value)
8 9 10 |
# File 'lib/inquirex/evaluator.rb', line 8 def answers @answers end |
Instance Method Details
#evaluate(rule) ⇒ Boolean
Evaluates a single rule (or returns true if rule is nil).
20 21 22 23 24 |
# File 'lib/inquirex/evaluator.rb', line 20 def evaluate(rule) return true if rule.nil? rule.evaluate(@answers) end |