Class: Puppet::Pops::Binder::BindingsComposer::SchemeHandlerHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet/pops/binder/bindings_composer.rb

Constant Summary collapse

T =
Puppet::Pops::Types::TypeFactory
HASH_OF_HANDLER =
T.hash_of(T.type_of(Puppet::Plugins::BindingSchemes::BINDINGS_SCHEMES_TYPE))

Instance Method Summary collapse

Constructor Details

#initialize(scope) ⇒ SchemeHandlerHelper

Returns a new instance of SchemeHandlerHelper.



163
164
165
166
# File 'lib/puppet/pops/binder/bindings_composer.rb', line 163

def initialize(scope)
  @scope = scope
  @cache = nil
end

Instance Method Details

#[](scheme) ⇒ Object



167
168
169
170
# File 'lib/puppet/pops/binder/bindings_composer.rb', line 167

def [] (scheme)
  load_schemes unless @cache
  @cache[scheme]
end

#load_schemesObject



172
173
174
# File 'lib/puppet/pops/binder/bindings_composer.rb', line 172

def load_schemes
  @cache = @scope.compiler.boot_injector.lookup(@scope, HASH_OF_HANDLER, Puppet::Plugins::BindingSchemes::BINDINGS_SCHEMES_KEY) || {}
end