Class: Undecided::Decider

Inherits:
Object
  • Object
show all
Defined in:
lib/undecided/decider.rb

Overview

Evaluate boolean expression

Instance Method Summary collapse

Instance Method Details

#decide(rule, values) ⇒ Object

Given a boolean expression and data to replace, return result



7
8
9
10
11
12
13
14
15
16
# File 'lib/undecided/decider.rb', line 7

def decide(rule, values)
  error unless Undecided::Evaluator.valid?(rule, values)
  # 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

#errorObject

Raises:



18
19
20
# File 'lib/undecided/decider.rb', line 18

def error
  raise DeciderError, 'Wrong data to perform'
end