Class: Puppet::FileServing::Mount::File
- Inherits:
-
Puppet::FileServing::Mount
- Object
- Network::AuthStore
- Puppet::FileServing::Mount
- Puppet::FileServing::Mount::File
- Defined in:
- lib/vendor/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, #deprecation_warning, #send_log
Methods inherited from Network::AuthStore
#allow, #allowed?, #deny, #empty?, #globalallow?, #initialize, #interpolate, #reset_interpolation, #to_s
Constructor Details
This class inherits a constructor from Puppet::FileServing::Mount
Class Method Details
.localmap ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/vendor/puppet/file_serving/mount/file.rb', line 4 def self.localmap @localmap ||= { "h" => Facter.value("hostname"), "H" => [ Facter.value("hostname"), Facter.value("domain") ].join("."), "d" => Facter.value("domain") } end |
Instance Method Details
#complete_path(relative_path, node) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/vendor/puppet/file_serving/mount/file.rb', line 15 def complete_path(relative_path, node) full_path = path(node) raise ArgumentError.new("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) if !(FileTest.exist?(file) or FileTest.symlink?(file)) Puppet.info("File does not exist or is not accessible: #{file}") return nil end file end |
#find(short_file, request) ⇒ Object
Return an instance of the appropriate class.
34 35 36 |
# File 'lib/vendor/puppet/file_serving/mount/file.rb', line 34 def find(short_file, request) complete_path(short_file, request.node) end |
#path(node = nil) ⇒ Object
Return the path as appropriate, expanding as necessary.
39 40 41 42 43 44 45 |
# File 'lib/vendor/puppet/file_serving/mount/file.rb', line 39 def path(node = nil) if return (@path, node) else return @path end end |
#path=(path) ⇒ Object
Set the path.
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/vendor/puppet/file_serving/mount/file.rb', line 48 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" unless FileTest.directory?(path) raise ArgumentError, "#{path} is not readable" unless FileTest.readable?(path) @expandable = false end @path = path end |
#search(path, request) ⇒ Object
62 63 64 65 |
# File 'lib/vendor/puppet/file_serving/mount/file.rb', line 62 def search(path, request) return nil unless path = complete_path(path, request.node) [path] end |
#validate ⇒ Object
Verify our configuration is valid. This should really check to make sure at least someone will be allowed, but, eh.
69 70 71 |
# File 'lib/vendor/puppet/file_serving/mount/file.rb', line 69 def validate raise ArgumentError.new("Mounts without paths are not usable") if @path.nil? end |