Class: JsonExpr
- Inherits:
-
Object
- Object
- JsonExpr
- Defined in:
- lib/json_expr/json_expr.rb
Instance Attribute Summary collapse
-
#operators ⇒ Object
Returns the value of attribute operators.
-
#vars ⇒ Object
Returns the value of attribute vars.
Instance Method Summary collapse
- #evaluate_boolean_expr(expr, vars) ⇒ Object
- #evaluate_expr(expr, vars) ⇒ Object
-
#initialize ⇒ JsonExpr
constructor
A new instance of JsonExpr.
Constructor Details
#initialize ⇒ JsonExpr
Returns a new instance of JsonExpr.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/json_expr/json_expr.rb', line 25 def initialize @operators = { "and": AndCombinator.new, "or": OrCombinator.new, "value": ValueOperator.new, "var": VarOperator.new, "null": NilOperator.new, "not": NotOperator.new, "in": InOperator.new, "match": MatchOperator.new, "eq": EqualsOperator.new, "gt": GreaterThanOperator.new, "gte": GreaterThanOrEqualOperator.new, "lt": LessThanOperator.new, "lte": LessThanOrEqualOperator.new } end |
Instance Attribute Details
#operators ⇒ Object
Returns the value of attribute operators.
22 23 24 |
# File 'lib/json_expr/json_expr.rb', line 22 def operators @operators end |
#vars ⇒ Object
Returns the value of attribute vars.
23 24 25 |
# File 'lib/json_expr/json_expr.rb', line 23 def vars @vars end |
Instance Method Details
#evaluate_boolean_expr(expr, vars) ⇒ Object
43 44 45 46 |
# File 'lib/json_expr/json_expr.rb', line 43 def evaluate_boolean_expr(expr, vars) evaluator = ExprEvaluator.new(operators, vars) evaluator.boolean_convert(evaluator.evaluate(expr)) end |
#evaluate_expr(expr, vars) ⇒ Object
48 49 50 51 |
# File 'lib/json_expr/json_expr.rb', line 48 def evaluate_expr(expr, vars) evaluator = ExprEvaluator.new(operators, vars) evaluator.evaluate(expr) end |