class Undecided::Decider
Evaluate boolean expression
Public Instance Methods
decide(rule, values, strict = true)
click to toggle source
Given a boolean expression and data to replace, return result
# 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.message error end
error()
click to toggle source
# File lib/undecided/decider.rb, line 20 def error raise DeciderError, 'Wrong data to perform' end