Class: Puppet::Pops::Loader::LoaderPaths::PuppetSmartPath
- Defined in:
- lib/puppet/pops/loader/loader_paths.rb
Overview
A PuppetSmartPath is rooted at the loader’s directory one level up from what the loader specifies as it path (which is a reference to its ‘lib’ directory.
Direct Known Subclasses
Constant Summary collapse
- EXTENSION =
'.pp'.freeze
Instance Attribute Summary
Attributes inherited from SmartPath
Instance Method Summary collapse
-
#effective_path(typed_name, start_index_in_name) ⇒ Object
Duplication of extension information, but avoids one call.
- #extension ⇒ Object
- #root_path ⇒ Object
Methods inherited from SmartPath
#initialize, #instantiator, #relative_path
Constructor Details
This class inherits a constructor from Puppet::Pops::Loader::LoaderPaths::SmartPath
Instance Method Details
#effective_path(typed_name, start_index_in_name) ⇒ Object
Duplication of extension information, but avoids one call
109 110 111 112 113 114 115 116 117 118 |
# File 'lib/puppet/pops/loader/loader_paths.rb', line 109 def effective_path(typed_name, start_index_in_name) # Puppet name to path always skips the name-space as that is part of the generic path # i.e. <module>/mymodule/functions/foo.pp is the function mymodule::foo parts = typed_name.name_parts if start_index_in_name > 0 return nil if start_index_in_name >= parts.size parts = parts[start_index_in_name..-1] end "#{File.join(generic_path, parts)}.pp" end |
#extension ⇒ Object
100 101 102 |
# File 'lib/puppet/pops/loader/loader_paths.rb', line 100 def extension EXTENSION end |
#root_path ⇒ Object
104 105 106 |
# File 'lib/puppet/pops/loader/loader_paths.rb', line 104 def root_path Puppet::FileSystem.dir_string(@loader.path) end |