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) ⇒ 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

Returns:

Raises:

  • (NotImplementedError)

Since:

  • Puppet 4.0.0



232
233
234
# File 'lib/puppet/plugins/data_providers/data_provider.rb', line 232

def create(name, paths)
  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



249
250
251
# File 'lib/puppet/plugins/data_providers/data_provider.rb', line 249

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