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) ⇒ RuleValueProvider
constructor
A new instance of RuleValueProvider.
-
#rule_defined?(name) ⇒ Boolean
-
#value_for(name) ⇒ Value
Constructor Details
#initialize(rules_by_name:, memoization: nil) ⇒ RuleValueProvider
Returns a new instance of RuleValueProvider.
10 11 12 13 14 |
# File 'lib/ruby/rego/evaluator/rule_value_provider.rb', line 10 def initialize(rules_by_name:, memoization: nil) @rules_by_name = rules_by_name @memoization = memoization @rule_evaluator = nil end |
Instance Method Details
#attach(rule_evaluator) ⇒ void
This method returns an undefined value.
18 19 20 |
# File 'lib/ruby/rego/evaluator/rule_value_provider.rb', line 18 def attach(rule_evaluator) @rule_evaluator = rule_evaluator end |
#rule_defined?(name) ⇒ Boolean
30 31 32 |
# File 'lib/ruby/rego/evaluator/rule_value_provider.rb', line 30 def rule_defined?(name) rules_by_name.key?(name) end |
#value_for(name) ⇒ Value
24 25 26 |
# File 'lib/ruby/rego/evaluator/rule_value_provider.rb', line 24 def value_for(name) memoization ? memoized_value_for(name) : evaluate_value_for(name) end |