Sha256: edf2c1f239b26b791efe32003ae1be737c1dc2beb9ffa432e6ae2fcbb3734214

Contents?: true

Size: 986 Bytes

Versions: 1

Compression:

Stored size: 986 Bytes

Contents

require 'dm-core'

class Deployment
  include DataMapper::Resource

  property :id,                 Serial
  property :created_at,         DateTime
  property :finished_at,        DateTime
  property :commit,             String, :default => 'abcdef1234'*4
  property :migrate,            String
  property :migrate_command,    String
  property :ref,                String
  property :successful,         Boolean
  property :output,             Text
  property :serverside_version, String

  belongs_to :app_environment

  def inspect
    "#<Deployment app_environment:#{app_environment.inspect}>"
  end

  def user_name
    app_environment.app.account.user.name
  end

  # normally a property, but we don't have the code to find this so just pretend
  def resolved_ref
    "resolved-#{ref}"
  end

  def finished?
    finished_at != nil
  end

  def finished!(attrs)
    return true if finished?
    attrs = attrs.dup
    attrs['finished_at'] ||= Time.now
    update(attrs)
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
engineyard-cloud-client-1.0.7 lib/engineyard-cloud-client/test/fake_awsm/models/deployment.rb