Class: Undecided::Decider
- Inherits:
-
Object
- Object
- Undecided::Decider
- Defined in:
- lib/undecided/decider.rb
Overview
Evaluate boolean expression
Instance Method Summary collapse
-
#decide(rule, values, strict = true) ⇒ Object
Given a boolean expression and data to replace, return result.
- #error ⇒ Object
Instance Method Details
#decide(rule, values, strict = true) ⇒ Object
Given a boolean expression and data to replace, return result
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/undecided/decider.rb', line 7 def decide(rule, values, strict = true) rule = rule.clone values = values.clone error unless Undecided::Evaluator.valid?(rule, values, strict) # Sanitize data # Eval rules and values after process it, with safe data final_expression = Converter.replacing_variables(rule, values) eval final_expression rescue => e puts e. error end |
#error ⇒ Object
20 21 22 |
# File 'lib/undecided/decider.rb', line 20 def error raise DeciderError, 'Wrong data to perform' end |