class Puppet::Pops::Loaders::ModuleResolver
Resolves module loaders - resolution of model dependencies is done by Puppet::Module
Public Class Methods
new(loaders)
click to toggle source
# File lib/puppet/pops/loaders.rb 503 def initialize(loaders) 504 @loaders = loaders 505 @index = {} 506 @all_module_loaders = nil 507 end
Public Instance Methods
[](name)
click to toggle source
# File lib/puppet/pops/loaders.rb 509 def [](name) 510 @index[name] 511 end
[]=(name, module_data)
click to toggle source
# File lib/puppet/pops/loaders.rb 513 def []=(name, module_data) 514 @index[name] = module_data 515 end
all_module_loaders()
click to toggle source
# File lib/puppet/pops/loaders.rb 517 def all_module_loaders 518 @all_module_loaders ||= @index.values.map {|md| md.public_loader } 519 end
resolve(module_data)
click to toggle source
# File lib/puppet/pops/loaders.rb 521 def resolve(module_data) 522 if module_data.resolved? 523 nil 524 else 525 module_data.private_loader = 526 if module_data.restrict_to_dependencies? 527 create_loader_with_dependencies_first(module_data) 528 else 529 create_loader_with_all_modules_visible(module_data) 530 end 531 end 532 end
Private Instance Methods
create_loader_with_all_modules_visible(from_module_data)
click to toggle source
# File lib/puppet/pops/loaders.rb 536 def create_loader_with_all_modules_visible(from_module_data) 537 @loaders.add_loader_by_name(Loader::DependencyLoader.new(from_module_data.public_loader, "#{from_module_data.name} private", all_module_loaders(), @loaders.environment)) 538 end
create_loader_with_dependencies_first(from_module_data)
click to toggle source
# File lib/puppet/pops/loaders.rb 540 def create_loader_with_dependencies_first(from_module_data) 541 dependency_loaders = from_module_data.dependency_names.collect { |name| @index[name].public_loader } 542 visible_loaders = dependency_loaders + (all_module_loaders() - dependency_loaders) 543 @loaders.add_loader_by_name(Loader::DependencyLoader.new(from_module_data.public_loader, "#{from_module_data.name} private", visible_loaders, @loaders.environment)) 544 end