Class: Puppet::Pops::Loaders::ModuleResolver
- Defined in:
- lib/puppet/pops/loaders.rb
Overview
Resolves module loaders - resolution of model dependencies is done by Puppet::Module
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, module_data) ⇒ Object
- #all_module_loaders ⇒ Object
-
#initialize(loaders) ⇒ ModuleResolver
constructor
A new instance of ModuleResolver.
- #resolve(module_data) ⇒ Object
Constructor Details
#initialize(loaders) ⇒ ModuleResolver
Returns a new instance of ModuleResolver.
350 351 352 353 354 |
# File 'lib/puppet/pops/loaders.rb', line 350 def initialize(loaders) @loaders = loaders @index = {} @all_module_loaders = nil end |
Instance Method Details
#[](name) ⇒ Object
356 357 358 |
# File 'lib/puppet/pops/loaders.rb', line 356 def [](name) @index[name] end |
#[]=(name, module_data) ⇒ Object
360 361 362 |
# File 'lib/puppet/pops/loaders.rb', line 360 def []=(name, module_data) @index[name] = module_data end |
#all_module_loaders ⇒ Object
364 365 366 |
# File 'lib/puppet/pops/loaders.rb', line 364 def all_module_loaders @all_module_loaders ||= @index.values.map {|md| md.public_loader } end |
#resolve(module_data) ⇒ Object
368 369 370 371 372 373 374 375 376 377 378 379 |
# File 'lib/puppet/pops/loaders.rb', line 368 def resolve(module_data) if module_data.resolved? nil else module_data.private_loader = if module_data.restrict_to_dependencies? create_loader_with_only_dependencies_visible(module_data) else create_loader_with_all_modules_visible(module_data) end end end |