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

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

Overview

API:

  • public

Constant Summary collapse

RESOURCE_TYPES_PATH_PP =

API:

  • public

'.resource_types'.freeze

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.

API:

  • public



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

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

API:

  • public



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

def instantiator
  PuppetResourceTypeImplInstantiator
end

#relative_pathObject

API:

  • public



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

def relative_path
  RESOURCE_TYPES_PATH_PP
end

#root_pathObject

API:

  • public



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

def root_path
  @loader.path
end