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
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
Given a boolean expression and data to replace, return result