class Wright::Provider::Directory
Directory
provider. Used as a provider for {Resource::Directory}.
Public Instance Methods
create()
click to toggle source
Creates or updates the directory.
@return [void]
# File lib/wright/provider/directory.rb, line 14 def create fail Errno::EEXIST, dirname_expanded if regular_file? dir_permissions = permissions unless_uptodate(:create, "directory already created: '#{dir_name}'") do unless_dry_run("create directory: '#{dir_name}'") do FileUtils.mkdir_p(dirname_expanded) dir_permissions.update unless dir_permissions.uptodate? end end end
remove()
click to toggle source
Removes the directory.
@return [void]
# File lib/wright/provider/directory.rb, line 29 def remove if ::File.exist?(dirname_expanded) && !::File.directory?(dirname_expanded) fail "'#{dirname_expanded}' exists but is not a directory" end unless_uptodate(:remove, "directory already removed: '#{dir_name}'") do unless_dry_run("remove directory: '#{dir_name}'") do FileUtils.rmdir(dirname_expanded) end end end
Private Instance Methods
dir_name()
click to toggle source
# File lib/wright/provider/directory.rb, line 44 def dir_name resource.name end
dirname_expanded()
click to toggle source
# File lib/wright/provider/directory.rb, line 67 def dirname_expanded ::File.expand_path(dir_name) end
permissions()
click to toggle source
# File lib/wright/provider/directory.rb, line 48 def permissions Wright::Util::FilePermissions.create_from_resource(resource, :directory) end
regular_file?()
click to toggle source
# File lib/wright/provider/directory.rb, line 63 def regular_file? ::File.exist?(dirname_expanded) && !::File.directory?(dirname_expanded) end
uptodate?(action)
click to toggle source
# File lib/wright/provider/directory.rb, line 53 def uptodate?(action) case action when :create ::File.directory?(dirname_expanded) && permissions.uptodate? when :remove !::File.exist?(dirname_expanded) && !::File.directory?(dirname_expanded) end end