Class: Wright::Provider::Symlink

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

Overview

Symlink provider. Used as a provider for Resource::Symlink.

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

#createvoid

This method returns an undefined value.

Creates or updates the symlink.



12
13
14
15
16
17
18
19
# File 'lib/wright/provider/symlink.rb', line 12

def create
  fail Errno::EEXIST, link_name if regular_file?

  symlink = symlink_to_s(@resource.name, @resource.to)
  unless_uptodate(:create, "symlink already created: #{symlink}") do
    create_link
  end
end

#removevoid

This method returns an undefined value.

Removes the symlink.



24
25
26
27
28
29
30
31
# File 'lib/wright/provider/symlink.rb', line 24

def remove
  fail "'#{link_name}' is not a symlink" if regular_file?

  symlink = @resource.name
  unless_uptodate(:remove, "symlink already removed: '#{symlink}'") do
    remove_symlink
  end
end