Class: Puppet::FileServing::Mount::PluginFacts Private

Inherits:
Puppet::FileServing::Mount show all
Defined in:
lib/puppet/file_serving/mount/pluginfacts.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’ pluginfacts directories. This is a very strange mount because it merges many directories into one.

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.



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

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

  path = mod.pluginfact(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.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/puppet/file_serving/mount/pluginfacts.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.pluginfacts? }.collect { |mod| mod.plugin_fact_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:

  • (Boolean)


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

def valid?
  true
end