class Imagemaster3000::Actions::Link

Attributes

symbolic[RW]
target[RW]

Public Class Methods

new(target: nil, link: nil, symbolic: false) click to toggle source
# File lib/imagemaster3000/actions/link.rb, line 6
def initialize(target: nil, link: nil, symbolic: false)
  raise Imagemaster3000::Errors::ArgumentError, 'neither target nor link can be nil' if target.empty? || link.empty?

  @target = target
  @link = link
  @symbolic = symbolic
  logger.debug "Created action #{inspect}"
end

Public Instance Methods

ln(image_file) click to toggle source
# File lib/imagemaster3000/actions/link.rb, line 22
def ln(image_file)
  ln_command = symbolic ? 'ln-s' : 'ln'

  Imagemaster3000::Utils::CommandExecutioner.execute Imagemaster3000::Settings[:'binaries-guestfish'],
                                                     '-a',
                                                     image_file,
                                                     '-i',
                                                     ln_command,
                                                     target,
                                                     link
end
run(image_file) click to toggle source
# File lib/imagemaster3000/actions/link.rb, line 15
def run(image_file)
  logger.debug "Running 'link' action with target #{target.inspect} and link #{link.inspect} on file #{image_file.inspect}"
  ln image_file
rescue Imagemaster3000::Errors::CommandExecutionError => ex
  raise Imagemaster3000::Errors::ActionError, ex
end