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('Puppetx::Puppet::BindingsSchemeHandler'))

Instance Method Summary collapse

Constructor Details

#initialize(scope) ⇒ SchemeHandlerHelper

Returns a new instance of SchemeHandlerHelper.



161
162
163
164
# File 'lib/puppet/pops/binder/bindings_composer.rb', line 161

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

Instance Method Details

#[](scheme) ⇒ Object



165
166
167
168
# File 'lib/puppet/pops/binder/bindings_composer.rb', line 165

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

#load_schemesObject



170
171
172
# File 'lib/puppet/pops/binder/bindings_composer.rb', line 170

def load_schemes
  @cache = @scope.compiler.boot_injector.lookup(@scope, HASH_OF_HANDLER, Puppetx::BINDINGS_SCHEMES) || {}
end