Class: Puppet::Plugins::DataProviders::PathBasedDataProviderFactory Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet/plugins/data_providers/data_provider.rb

Overview

This class is abstract.

Factory for creating path based data providers

Since:

  • Puppet 4.0.0

Direct Known Subclasses

FileBasedDataProviderFactory

Instance Method Summary collapse

Instance Method Details

#create(name, paths, parent_data_provider) ⇒ DataProvider

Create a path based data provider with the given name and paths

Parameters:

  • name (String)

    the name of the created provider (for logging and debugging)

  • paths (Array<String>)

    array of resolved paths

  • parent_data_provider (DataProvider)

    The data provider that is the container of this data provider

Returns:

Raises:

  • (NotImplementedError)

Since:

  • Puppet 4.0.0



266
267
268
# File 'lib/puppet/plugins/data_providers/data_provider.rb', line 266

def create(name, paths, parent_data_provider)
  raise NotImplementedError, "Subclass of PathBasedDataProviderFactory must implement 'create' method"
end

#resolve_paths(datadir, declared_paths, paths, lookup_invocation) ⇒ Array<ResolvedPath>

Resolve the given paths to something that is meaningful as a paths argument when creating a provider using the #create call.

In order to increase efficiency, the implementors of this method should ensure that resolved paths that exists are included in the result.

Parameters:

  • datadir (Pathname)

    The base when creating absolute paths

  • declared_paths (Array<String>)

    paths as found in declaration. May contain interpolation expressions

  • paths (Array<String>)

    paths that have been preprocessed (interpolations resolved)

  • lookup_invocation (Puppet::Pops::Lookup::Invocation)

    The current lookup invocation

Returns:

Since:

  • Puppet 4.0.0



283
284
285
# File 'lib/puppet/plugins/data_providers/data_provider.rb', line 283

def resolve_paths(datadir, declared_paths, paths, lookup_invocation)
  []
end

#versionObject

Returns the data provider factory version.

return [Integer] the version of this data provider factory

Since:

  • Puppet 4.0.0



291
292
293
# File 'lib/puppet/plugins/data_providers/data_provider.rb', line 291

def version
  2
end