Class: Puppet::FileServing::Mount::Plugins Private

Inherits:
Puppet::FileServing::Mount show all
Defined in:
lib/puppet/file_serving/mount/plugins.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Find files in the modules’ plugins directories. This is a very strange mount because it merges many directories into one.

API:

  • private

Instance Attribute Summary

Attributes inherited from Puppet::FileServing::Mount

#name

Instance Method Summary collapse

Methods inherited from Puppet::FileServing::Mount

#initialize, #to_s, #validate

Methods included from Util::Logging

#clear_deprecation_warnings, #debug, #deprecation_warning, #format_backtrace, #format_exception, #get_deprecation_offender, #log_and_raise, #log_deprecations_to_file, #log_exception, #puppet_deprecation_warning, #send_log, setup_facter_logging!, #warn_once

Constructor Details

This class inherits a constructor from Puppet::FileServing::Mount

Instance Method Details

#find(relative_path, request) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return an instance of the appropriate class.

API:

  • private



9
10
11
12
13
14
15
16
# File 'lib/puppet/file_serving/mount/plugins.rb', line 9

def find(relative_path, request)
  mod = request.environment.modules.find { |m|  m.plugin(relative_path) }
  return nil unless mod

  path = mod.plugin(relative_path)

  path
end

#search(relative_path, request) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/puppet/file_serving/mount/plugins.rb', line 18

def search(relative_path, request)
  # We currently only support one kind of search on plugins - return
  # them all.
  paths = request.environment.modules.find_all { |mod| mod.plugins? }.collect { |mod| mod.plugin_directory }
  if paths.empty?
    # If the modulepath is valid then we still need to return a valid root
    # directory for the search, but make sure nothing inside it is
    # returned.
    request.options[:recurse] = false
    request.environment.modulepath.empty? ? [Puppet[:codedir]] : request.environment.modulepath
  else
    paths
  end
end

#valid?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

API:

  • private



33
34
35
# File 'lib/puppet/file_serving/mount/plugins.rb', line 33

def valid?
  true
end