Module: Puppet::Pops::Loader::LoaderPaths
- Defined in:
- lib/puppet/pops/loader/loader_paths.rb
Defined Under Namespace
Classes: DataTypePath, FunctionPath3x, FunctionPath4x, FunctionPathPP, PlanPath, PuppetSmartPath, ResourceTypeImplPP, RubySmartPath, SmartPath, SmartPaths, TaskPath, TypePathPP
Class Method Summary collapse
-
.relative_paths_for_type(type, loader) ⇒ Object
Returns an array of SmartPath, each instantiated with a reference to the given loader (for root path resolution and existence checks).
Class Method Details
.relative_paths_for_type(type, loader) ⇒ Object
Returns an array of SmartPath, each instantiated with a reference to the given loader (for root path resolution and existence checks). The smart paths in the array appear in precedence order. The returned array may be mutated.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/puppet/pops/loader/loader_paths.rb', line 17 def self.relative_paths_for_type(type, loader) result = [] case type when :function # Only include support for the loadable items the loader states it can contain if loader.loadables.include?(:func_4x) result << FunctionPath4x.new(loader) end if loader.loadables.include?(:func_4xpp) result << FunctionPathPP.new(loader) end if loader.loadables.include?(:func_3x) result << FunctionPath3x.new(loader) end when :plan result << PlanPath.new(loader) when :task result << TaskPath.new(loader) if Puppet[:tasks] && loader.loadables.include?(:task) when :type result << DataTypePath.new(loader) if loader.loadables.include?(:datatype) result << TypePathPP.new(loader) if loader.loadables.include?(:type_pp) when :resource_type_pp result << ResourceTypeImplPP.new(loader) if loader.loadables.include?(:resource_type_pp) else # unknown types, simply produce an empty result; no paths to check, nothing to find... move along... [] end result end |