Class: Ruby::Rego::Evaluator::ComprehensionEvaluator
- Inherits:
-
Object
- Object
- Ruby::Rego::Evaluator::ComprehensionEvaluator
- Includes:
- LocalShadowing
- Defined in:
- lib/ruby/rego/evaluator/comprehension_evaluator.rb
Overview
Evaluates comprehensions in isolated scopes. :reek:TooManyMethods
Instance Method Summary collapse
-
#attach_query_evaluator(query_evaluator) ⇒ void
-
#eval_array(node) ⇒ Value
-
#eval_object(node) ⇒ Value
-
#eval_set(node) ⇒ Value
-
#initialize(expression_evaluator:, environment:) ⇒ ComprehensionEvaluator
constructor
A new instance of ComprehensionEvaluator.
Constructor Details
#initialize(expression_evaluator:, environment:) ⇒ ComprehensionEvaluator
Returns a new instance of ComprehensionEvaluator.
41 42 43 44 45 |
# File 'lib/ruby/rego/evaluator/comprehension_evaluator.rb', line 41 def initialize(expression_evaluator:, environment:) @expression_evaluator = expression_evaluator @environment = environment @query_evaluator = nil end |
Instance Method Details
#attach_query_evaluator(query_evaluator) ⇒ void
This method returns an undefined value.
49 50 51 52 |
# File 'lib/ruby/rego/evaluator/comprehension_evaluator.rb', line 49 def attach_query_evaluator(query_evaluator) @query_evaluator = query_evaluator nil end |
#eval_array(node) ⇒ Value
56 57 58 |
# File 'lib/ruby/rego/evaluator/comprehension_evaluator.rb', line 56 def eval_array(node) ArrayValue.new(collect_values(node)) end |
#eval_object(node) ⇒ Value
62 63 64 |
# File 'lib/ruby/rego/evaluator/comprehension_evaluator.rb', line 62 def eval_object(node) ObjectValue.new(object_pairs(node)) end |