Class: Puppet::Pops::Loader::LoaderPaths::ResourceTypeImplPP

Inherits:
PuppetSmartPath show all
Defined in:
lib/puppet/pops/loader/loader_paths.rb

Constant Summary collapse

RESOURCE_TYPES_PATH_PP =
'.resource_types'

Constants inherited from PuppetSmartPath

PuppetSmartPath::EXTENSION

Instance Method Summary collapse

Methods inherited from PuppetSmartPath

#extension, #typed_name

Methods inherited from SmartPath

#fuzzy_matching?, #generic_path, #initialize, #lib_root?, #typed_name, #valid_name?, #valid_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

The effect paths for resource type impl is the full name since resource types are not name spaced. This overrides the default PuppetSmartPath.



307
308
309
310
311
# File 'lib/puppet/pops/loader/loader_paths.rb', line 307

def effective_path(typed_name, start_index_in_name)
  # Resource type to name does not skip the name-space
  # i.e. <module>/mymodule/resource_types/foo.pp is the resource type foo
  "#{File.join(generic_path, typed_name.name_parts)}.pp"
end

#instantiatorObject



299
300
301
# File 'lib/puppet/pops/loader/loader_paths.rb', line 299

def instantiator
  PuppetResourceTypeImplInstantiator
end

#relative_pathObject



291
292
293
# File 'lib/puppet/pops/loader/loader_paths.rb', line 291

def relative_path
  RESOURCE_TYPES_PATH_PP
end

#root_pathObject



295
296
297
# File 'lib/puppet/pops/loader/loader_paths.rb', line 295

def root_path
  @loader.path
end