Class: EY::Model::Deployment
- Defined in:
- lib/engineyard/model/deployment.rb
Class Method Summary collapse
- .api_root(app_id, environment_id) ⇒ Object
- .get(app, environment, id, api) ⇒ Object
- .last(app, environment, api) ⇒ Object
- .load_from_response(app, environment, response) ⇒ Object
- .started(environment, app, ref, migrate_command) ⇒ Object
Instance Method Summary collapse
- #finished(successful, output) ⇒ Object
- #migrate ⇒ Object
- #start ⇒ Object
- #update_with_response(response) ⇒ Object
Class Method Details
.api_root(app_id, environment_id) ⇒ Object
6 7 8 |
# File 'lib/engineyard/model/deployment.rb', line 6 def self.api_root(app_id, environment_id) "/apps/#{app_id}/environments/#{environment_id}/deployments" end |
.get(app, environment, id, api) ⇒ Object
14 15 16 17 |
# File 'lib/engineyard/model/deployment.rb', line 14 def self.get(app, environment, id, api) response = api.request(api_root(app.id, environment.id) + "/#{id}", :method => :get) load_from_response app, environment, response end |
.last(app, environment, api) ⇒ Object
10 11 12 |
# File 'lib/engineyard/model/deployment.rb', line 10 def self.last(app, environment, api) get(app, environment, 'last', api) end |
.load_from_response(app, environment, response) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/engineyard/model/deployment.rb', line 19 def self.load_from_response(app, environment, response) dep = new dep.app = app dep.environment = environment dep.update_with_response(response) dep end |
.started(environment, app, ref, migrate_command) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/engineyard/model/deployment.rb', line 27 def self.started(environment, app, ref, migrate_command) deployment = from_hash({ :app => app, :environment => environment, :migrate_command => migrate_command, :ref => ref, }) deployment.start deployment end |
Instance Method Details
#finished(successful, output) ⇒ Object
53 54 55 56 57 |
# File 'lib/engineyard/model/deployment.rb', line 53 def finished(successful, output) self.successful = successful self.output = output put_to_api({:successful => successful, :output => output}) end |
#migrate ⇒ Object
38 39 40 |
# File 'lib/engineyard/model/deployment.rb', line 38 def migrate !!migrate_command end |
#start ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/engineyard/model/deployment.rb', line 44 def start post_to_api({ :migrate => migrate, :migrate_command => migrate_command, :output => output, :ref => ref, }) end |
#update_with_response(response) ⇒ Object
59 60 61 62 63 |
# File 'lib/engineyard/model/deployment.rb', line 59 def update_with_response(response) response['deployment'].each do |key,val| send("#{key}=", val) if respond_to?("#{key}=") end end |