Class: Ruby::Rego::Evaluator::ObjectLiteralEvaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby/rego/evaluator/object_literal_evaluator.rb

Overview

Evaluates object literal nodes.

Instance Method Summary collapse

Constructor Details

#initialize(expression_evaluator:) ⇒ ObjectLiteralEvaluator

Returns a new instance of ObjectLiteralEvaluator.

Parameters:



9
10
11
# File 'lib/ruby/rego/evaluator/object_literal_evaluator.rb', line 9

def initialize(expression_evaluator:)
  @expression_evaluator = expression_evaluator
end

Instance Method Details

#evaluate(node) ⇒ Value

Parameters:

Returns:



15
16
17
18
19
20
# File 'lib/ruby/rego/evaluator/object_literal_evaluator.rb', line 15

def evaluate(node)
  pairs = build_pairs(node)
  return pairs if pairs.is_a?(UndefinedValue)

  ObjectValue.new(pairs)
end