Class: Puppetserver::Utils::FileUtilities
- Inherits:
-
Object
- Object
- Puppetserver::Utils::FileUtilities
- Defined in:
- lib/puppetserver/utils/file_utilities.rb
Class Method Summary collapse
- .ensure_dir(setting) ⇒ Object
- .ensure_file(location, content, mode) ⇒ Object
- .instance ⇒ Object
- .validate_file_paths(one_or_more_paths) ⇒ Object
- .write_file(*args) ⇒ Object
Instance Method Summary collapse
- #ensure_dir(setting) ⇒ Object
- #find_user_and_group ⇒ Object
-
#initialize ⇒ FileUtilities
constructor
A new instance of FileUtilities.
- #pe_puppet_exists? ⇒ Boolean
- #running_as_root? ⇒ Boolean
- #write_file(path, one_or_more_objects, mode) ⇒ Object
Constructor Details
#initialize ⇒ FileUtilities
Returns a new instance of FileUtilities.
37 38 39 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 37 def initialize @user, @group = find_user_and_group end |
Class Method Details
.ensure_dir(setting) ⇒ Object
16 17 18 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 16 def self.ensure_dir(setting) instance.ensure_dir(setting) end |
.ensure_file(location, content, mode) ⇒ Object
20 21 22 23 24 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 20 def self.ensure_file(location, content, mode) if !File.exist?(location) instance.write_file(location, content, mode) end end |
.instance ⇒ Object
8 9 10 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 8 def self.instance @instance ||= new end |
.validate_file_paths(one_or_more_paths) ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 26 def self.validate_file_paths(one_or_more_paths) errors = [] Array(one_or_more_paths).each do |path| if !File.exist?(path) || !File.readable?(path) errors << "Could not read file '#{path}'" end end errors end |
.write_file(*args) ⇒ Object
12 13 14 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 12 def self.write_file(*args) instance.write_file(*args) end |
Instance Method Details
#ensure_dir(setting) ⇒ Object
70 71 72 73 74 75 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 70 def ensure_dir(setting) if !File.exist?(setting) FileUtils.mkdir_p(setting, mode: 0750) FileUtils.chown(@user, @group, setting) end end |
#find_user_and_group ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 41 def find_user_and_group if !running_as_root? return Process.euid, Process.egid else if pe_puppet_exists? return 'pe-puppet', 'pe-puppet' else return 'puppet', 'puppet' end end end |
#pe_puppet_exists? ⇒ Boolean
57 58 59 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 57 def pe_puppet_exists? !!(Etc.getpwnam('pe-puppet') rescue nil) end |
#running_as_root? ⇒ Boolean
53 54 55 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 53 def running_as_root? !Gem.win_platform? && Process.euid == 0 end |
#write_file(path, one_or_more_objects, mode) ⇒ Object
61 62 63 64 65 66 67 68 |
# File 'lib/puppetserver/utils/file_utilities.rb', line 61 def write_file(path, one_or_more_objects, mode) File.open(path, 'w', mode) do |f| Array(one_or_more_objects).each do |object| f.puts object.to_s end end FileUtils.chown(@user, @group, path) end |