class Hookit::Resource::Directory
Public Class Methods
new(name)
click to toggle source
Calls superclass method
Hookit::Resource::Base::new
# File lib/hookit/resource/directory.rb, line 14 def initialize(name) path name unless path super end
Public Instance Methods
run(action)
click to toggle source
# File lib/hookit/resource/directory.rb, line 19 def run(action) case action when :create create! chown! chmod! when :delete delete! end end
Protected Instance Methods
chmod!()
click to toggle source
# File lib/hookit/resource/directory.rb, line 59 def chmod! if ::File.exists? path and mode ::File.chmod(mode, path) end end
chown!()
click to toggle source
# File lib/hookit/resource/directory.rb, line 52 def chown! return unless owner or group if ::File.exists? path `chown #{(group.nil?) ? owner : "#{owner}:#{group}"} #{path}` end end
create!()
click to toggle source
# File lib/hookit/resource/directory.rb, line 32 def create! return if ::File.exists? path cmd = "mkdir #{"-p " if recursive}#{path}" `#{cmd}` code = $?.exitstatus if code != 0 raise Hookit::Error::UnexpectedExit, "#{cmd} failed with exit code '#{code}'" end end
delete!()
click to toggle source
# File lib/hookit/resource/directory.rb, line 42 def delete! return if not ::File.exists? path cmd = "rm -rf #{path}" `#{cmd}` code = $?.exitstatus if code != 0 raise Hookit::Error::UnexpectedExit, "#{cmd} failed with exit code '#{code}'" end end