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 498 def initialize(loaders) 499 @loaders = loaders 500 @index = {} 501 @all_module_loaders = nil 502 end
Public Instance Methods
[](name)
click to toggle source
# File lib/puppet/pops/loaders.rb 504 def [](name) 505 @index[name] 506 end
[]=(name, module_data)
click to toggle source
# File lib/puppet/pops/loaders.rb 508 def []=(name, module_data) 509 @index[name] = module_data 510 end
all_module_loaders()
click to toggle source
# File lib/puppet/pops/loaders.rb 512 def all_module_loaders 513 @all_module_loaders ||= @index.values.map {|md| md.public_loader } 514 end
resolve(module_data)
click to toggle source
# File lib/puppet/pops/loaders.rb 516 def resolve(module_data) 517 if module_data.resolved? 518 nil 519 else 520 module_data.private_loader = 521 if module_data.restrict_to_dependencies? 522 create_loader_with_dependencies_first(module_data) 523 else 524 create_loader_with_all_modules_visible(module_data) 525 end 526 end 527 end
Private Instance Methods
create_loader_with_all_modules_visible(from_module_data)
click to toggle source
# File lib/puppet/pops/loaders.rb 531 def create_loader_with_all_modules_visible(from_module_data) 532 @loaders.add_loader_by_name(Loader::DependencyLoader.new(from_module_data.public_loader, "#{from_module_data.name} private", all_module_loaders(), @loaders.environment)) 533 end
create_loader_with_dependencies_first(from_module_data)
click to toggle source
# File lib/puppet/pops/loaders.rb 535 def create_loader_with_dependencies_first(from_module_data) 536 dependency_loaders = from_module_data.dependency_names.collect { |name| @index[name].public_loader } 537 visible_loaders = dependency_loaders + (all_module_loaders() - dependency_loaders) 538 @loaders.add_loader_by_name(Loader::DependencyLoader.new(from_module_data.public_loader, "#{from_module_data.name} private", visible_loaders, @loaders.environment)) 539 end