Class: Puppet::Settings::FileOrDirectorySetting
- Inherits:
-
FileSetting
- Object
- BaseSetting
- StringSetting
- FileSetting
- Puppet::Settings::FileOrDirectorySetting
- Defined in:
- lib/puppet/settings/file_or_directory_setting.rb
Constant Summary
Constants inherited from BaseSetting
Instance Attribute Summary
Attributes inherited from FileSetting
Attributes inherited from BaseSetting
#call_hook, #default, #deprecated, #desc, #name, #section, #short
Instance Method Summary collapse
-
#munge(value) ⇒ Object
Overrides munge to be able to read the un-munged value (the FileSetting.munch removes trailing slash).
- #open_file(filename, option = 'r', &block) ⇒ Object private
- #type ⇒ Object
Methods inherited from FileSetting
#exclusive_open, #group, #group=, #initialize, #open, #owner, #owner=, #set_meta, #to_resource
Methods inherited from StringSetting
Methods inherited from BaseSetting
#allowed_on_commandline?, available_call_hook_values, #call_hook_on_define?, #call_hook_on_initialize?, #completely_deprecated?, #deprecated?, #getopt_args, #has_hook?, #hook=, #initialize, #inspect, #iscreated, #iscreated?, #optparse_args, #print, #set_meta, #to_config, #value
Constructor Details
This class inherits a constructor from Puppet::Settings::FileSetting
Instance Method Details
#munge(value) ⇒ Object
Overrides munge to be able to read the un-munged value (the FileSetting.munch removes trailing slash)
14 15 16 17 18 19 |
# File 'lib/puppet/settings/file_or_directory_setting.rb', line 14 def munge(value) if value.is_a?(String) && value =~ %r{[\\/]$} @path_ends_with_slash = true end super end |
#open_file(filename, option = 'r', &block) ⇒ 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.
28 29 30 31 32 33 34 35 36 |
# File 'lib/puppet/settings/file_or_directory_setting.rb', line 28 def open_file(filename, option = 'r', &block) if type == :file super else controlled_access do |mode| Puppet::FileSystem.open(filename, mode, option, &block) end end end |
#type ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/puppet/settings/file_or_directory_setting.rb', line 4 def type if Puppet::FileSystem.directory?(value) || @path_ends_with_slash :directory else :file end end |