Class: Ruby::Rego::Evaluator::ReferenceKeyResolver

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

Overview

Resolves reference path segments to Ruby keys.

Instance Method Summary collapse

Constructor Details

#initialize(environment:, variable_resolver: nil) ⇒ ReferenceKeyResolver

Returns a new instance of ReferenceKeyResolver.

Parameters:

  • environment (Environment)
  • variable_resolver (#call) (defaults to: nil)


10
11
12
13
# File 'lib/ruby/rego/evaluator/reference_key_resolver.rb', line 10

def initialize(environment:, variable_resolver: nil)
  @environment = environment
  @variable_resolver = variable_resolver
end

Instance Method Details

#resolve(segment) ⇒ Object

Parameters:

  • segment (Object)

Returns:

  • (Object)


17
18
19
20
21
# File 'lib/ruby/rego/evaluator/reference_key_resolver.rb', line 17

def resolve(segment)
  resolve_segment(segment)
rescue ArgumentError
  UndefinedValue.new
end