Class: Puppet::FileServing::Mount::File
- Inherits:
-
Puppet::FileServing::Mount
- Object
- Puppet::FileServing::Mount
- Puppet::FileServing::Mount::File
- Defined in:
- lib/puppet/file_serving/mount/file.rb
Instance Attribute Summary
Attributes inherited from Puppet::FileServing::Mount
Class Method Summary collapse
Instance Method Summary collapse
- #complete_path(relative_path, node) ⇒ Object
-
#find(short_file, request) ⇒ Object
Return an instance of the appropriate class.
-
#path(node = nil) ⇒ Object
Return the path as appropriate, expanding as necessary.
-
#path=(path) ⇒ Object
Set the path.
- #search(path, request) ⇒ Object
-
#validate ⇒ Object
Verify our configuration is valid.
Methods inherited from Puppet::FileServing::Mount
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
Class Method Details
.localmap ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/puppet/file_serving/mount/file.rb', line 6 def self.localmap @localmap ||= { "h" => Puppet.runtime[:facter].value('networking.hostname'), "H" => [ Puppet.runtime[:facter].value('networking.hostname'), Puppet.runtime[:facter].value('networking.domain') ].join("."), "d" => Puppet.runtime[:facter].value('networking.domain') } end |
Instance Method Details
#complete_path(relative_path, node) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/puppet/file_serving/mount/file.rb', line 17 def complete_path(relative_path, node) full_path = path(node) raise ArgumentError, _("Mounts without paths are not usable") unless full_path # If there's no relative path name, then we're serving the mount itself. return full_path unless relative_path file = ::File.join(full_path, relative_path) unless Puppet::FileSystem.exist?(file) or Puppet::FileSystem.symlink?(file) Puppet.info(_("File does not exist or is not accessible: %{file}") % { file: file }) return nil end file end |
#find(short_file, request) ⇒ Object
Return an instance of the appropriate class.
36 37 38 |
# File 'lib/puppet/file_serving/mount/file.rb', line 36 def find(short_file, request) complete_path(short_file, request.node) end |
#path(node = nil) ⇒ Object
Return the path as appropriate, expanding as necessary.
41 42 43 44 45 46 47 |
# File 'lib/puppet/file_serving/mount/file.rb', line 41 def path(node = nil) if (@path, node) else @path end end |
#path=(path) ⇒ Object
Set the path.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/puppet/file_serving/mount/file.rb', line 50 def path=(path) # FIXME: For now, just don't validate paths with replacement # patterns in them. if path =~ /%./ # Mark that we're expandable. @expandable = true else raise ArgumentError, _("%{path} does not exist or is not a directory") % { path: path } unless FileTest.directory?(path) raise ArgumentError, _("%{path} is not readable") % { path: path } unless FileTest.readable?(path) @expandable = false end @path = path end |
#search(path, request) ⇒ Object
65 66 67 68 69 70 |
# File 'lib/puppet/file_serving/mount/file.rb', line 65 def search(path, request) path = complete_path(path, request.node) return nil unless path [path] end |