Class: Wright::Provider::Directory

Inherits:
Wright::Provider show all
Defined in:
lib/wright/provider/directory.rb

Overview

Public: Directory provider. Used as a Provider for Resource::Directory.

Constant Summary

Constants inherited from Wright::Provider

PROVIDER_DIR

Instance Method Summary collapse

Methods inherited from Wright::Provider

#initialize, #updated?

Constructor Details

This class inherits a constructor from Wright::Provider

Instance Method Details

#createObject

Public: Create or update the directory.

Returns nothing.



14
15
16
17
18
19
20
21
22
23
# File 'lib/wright/provider/directory.rb', line 14

def create
  if ::File.directory?(dirname) && permissions.uptodate?
    Wright.log.debug "directory already created: '#{@resource.name}'"
    return
  end

  fail Errno::EEXIST, dirname if regular_file?
  create_directory
  @updated = true
end

#removeObject

Public: Remove the directory.

Returns nothing.



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/wright/provider/directory.rb', line 28

def remove
  if ::File.exist?(dirname) && !::File.directory?(dirname)
    fail "'#{dirname}' exists but is not a directory"
  end

  if ::File.directory?(dirname)
    remove_directory
    @updated = true
  else
    Wright.log.debug "directory already removed: '#{@resource.name}'"
  end
end