class Mamiya::Steps::Prepare

Public Instance Methods

given_script()

This class see target_dir's script

Alias for: script
run!() click to toggle source
# File lib/mamiya/steps/prepare.rb, line 10
def run!
  @exception = nil
  Mamiya.chdir(target) do
    logger.info "Preparing #{target}..."

    script.before_prepare(labels)[]
    script.prepare(labels)[]

    File.write target.join('.mamiya.prepared'), "#{Time.now.to_i}\n"
  end
rescue Exception => e
  @exception = e
  raise e
ensure
  logger.warn "Exception occured, cleaning up..." if @exception

  script.after_prepare(labels)[@exception]

  logger.info "DONE!" unless @exception
end
script() click to toggle source
# File lib/mamiya/steps/prepare.rb, line 34
def script
  @target_script ||= Mamiya::Script.new.load!(
    target.join('.mamiya.script', target_meta['script'])).tap do |script|
    script.set(:deploy_to, config.deploy_to_for(script.application))
    script.set(:release_path, target)
    script.set(:logger, logger)
  end
end
Also aliased as: given_script

Private Instance Methods

labels() click to toggle source
# File lib/mamiya/steps/prepare.rb, line 53
def labels
  # XXX: TODO: is it sure that passing labels via options of step?
  options[:labels]
end
target() click to toggle source
# File lib/mamiya/steps/prepare.rb, line 45
def target
  @target ||= Pathname.new(options[:target]).realpath
end
target_meta() click to toggle source
# File lib/mamiya/steps/prepare.rb, line 49
def target_meta
  @target_meta ||= JSON.parse target.join('.mamiya.meta.json').read
end