Sha256: 3ce98588e3daecbf0a94f3b761462c1a4520c85049ed5d1a752a15366286158a

Contents?: true

Size: 610 Bytes

Versions: 1

Compression:

Stored size: 610 Bytes

Contents

class Status; end

class << Status

  # TODO: extract this from class
  FILE = '/tmp/deployment/env/status'

  def load_or_create
    Output.info 'Loading status file', FILE
    `mkdir -p #{File.dirname(FILE)}`
    (File.exist? FILE) ? eval(File.read(FILE)) : {}
  end

  def get
    @status ||= Hashie::Mash.new(load_or_create)
  end

  def reload!
    Output.jump
    Output.info 'Reloading status', FILE
    save
    @status = nil
  end

  def save
    Output.info 'Saving deployment status to file', FILE
    File.open(FILE, 'w+') do |file|
      file.write Status.get.to_hash.inspect
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
atesta-0.0.2 lib/status.rb