Class: SimpleDeploy::Stack::Deployment::Status
- Inherits:
-
Object
- Object
- SimpleDeploy::Stack::Deployment::Status
- Defined in:
- lib/simple_deploy/stack/deployment/status.rb
Instance Method Summary collapse
- #clear_deployment_lock(force = false) ⇒ Object
- #clear_for_deployment? ⇒ Boolean
- #deployment_in_progress? ⇒ Boolean
-
#initialize(args) ⇒ Status
constructor
A new instance of Status.
- #set_deployment_in_progress ⇒ Object
- #unset_deployment_in_progress ⇒ Object
Constructor Details
#initialize(args) ⇒ Status
Returns a new instance of Status.
6 7 8 9 10 11 12 |
# File 'lib/simple_deploy/stack/deployment/status.rb', line 6 def initialize(args) @config = SimpleDeploy.config @logger = SimpleDeploy.logger @stack = args[:stack] @ssh_user = args[:ssh_user] @name = args[:name] end |
Instance Method Details
#clear_deployment_lock(force = false) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/simple_deploy/stack/deployment/status.rb', line 18 def clear_deployment_lock(force=false) if deployment_in_progress? && force @logger.info "Forcing. Clearing deployment status." unset_deployment_in_progress end end |
#clear_for_deployment? ⇒ Boolean
14 15 16 |
# File 'lib/simple_deploy/stack/deployment/status.rb', line 14 def clear_for_deployment? !deployment_in_progress? end |
#deployment_in_progress? ⇒ Boolean
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/simple_deploy/stack/deployment/status.rb', line 25 def deployment_in_progress? @logger.debug "Checking deployment status for #{@name}." if attributes['deployment_in_progress'] == 'true' @logger.info "Deployment in progress for #{@name}." @logger.info "Started by #{attributes['deployment_user']}@#{attributes['deployment_datetime']}." true else @logger.debug "No other deployments in progress for #{@name}." false end end |
#set_deployment_in_progress ⇒ Object
37 38 39 40 41 42 |
# File 'lib/simple_deploy/stack/deployment/status.rb', line 37 def set_deployment_in_progress @logger.debug "Setting deployment in progress by #{@ssh_user} for #{@name}." @stack.update :attributes => [ { 'deployment_in_progress' => 'true', 'deployment_user' => @ssh_user, 'deployment_datetime' => Time.now.to_s } ] end |
#unset_deployment_in_progress ⇒ Object
44 45 46 47 48 49 |
# File 'lib/simple_deploy/stack/deployment/status.rb', line 44 def unset_deployment_in_progress @logger.debug "Clearing deployment in progress for #{@name}." @stack.in_progress_update :attributes => [ { 'deployment_in_progress' => 'false' } ], :caller => self end |