Class: Ruby::Rego::Evaluator::RuleValueProvider
- Inherits:
-
Object
- Object
- Ruby::Rego::Evaluator::RuleValueProvider
- Defined in:
- lib/ruby/rego/evaluator/rule_value_provider.rb
Overview
Provides evaluated rule values for data references.
Instance Method Summary collapse
-
#attach(rule_evaluator) ⇒ void
-
#initialize(rules_by_name:, memoization: nil, package_key: "") ⇒ RuleValueProvider
constructor
A new instance of RuleValueProvider.
-
#rule_defined?(name) ⇒ Boolean
-
#value_for(name) ⇒ Value
Constructor Details
#initialize(rules_by_name:, memoization: nil, package_key: "") ⇒ RuleValueProvider
Returns a new instance of RuleValueProvider.
11 12 13 14 15 16 |
# File 'lib/ruby/rego/evaluator/rule_value_provider.rb', line 11 def initialize(rules_by_name:, memoization: nil, package_key: "") @rules_by_name = rules_by_name @memoization = memoization @package_key = package_key @rule_evaluator = nil end |
Instance Method Details
#attach(rule_evaluator) ⇒ void
This method returns an undefined value.
20 21 22 |
# File 'lib/ruby/rego/evaluator/rule_value_provider.rb', line 20 def attach(rule_evaluator) @rule_evaluator = rule_evaluator end |
#rule_defined?(name) ⇒ Boolean
32 33 34 |
# File 'lib/ruby/rego/evaluator/rule_value_provider.rb', line 32 def rule_defined?(name) rules_by_name.key?(name) end |
#value_for(name) ⇒ Value
26 27 28 |
# File 'lib/ruby/rego/evaluator/rule_value_provider.rb', line 26 def value_for(name) memoization ? memoized_value_for(name) : evaluate_value_for(name) end |