class Deploy::Eb::State
Public Class Methods
new(env)
click to toggle source
# File lib/deploy/eb/state.rb, line 4 def initialize(env) @env = env end
Public Instance Methods
application_name()
click to toggle source
# File lib/deploy/eb/state.rb, line 24 def application_name environment_info.application_name end
environment_info()
click to toggle source
# File lib/deploy/eb/state.rb, line 20 def environment_info @environment_info ||= environment_description_message.environments[0] end
exists?()
click to toggle source
# File lib/deploy/eb/state.rb, line 8 def exists? !environment_info.nil? end
ready?()
click to toggle source
# File lib/deploy/eb/state.rb, line 12 def ready? environment_info.status.eql? 'Ready' end
switch()
click to toggle source
# File lib/deploy/eb/state.rb, line 16 def switch system("eb use #{@env}") end
version_exists?(version)
click to toggle source
# File lib/deploy/eb/state.rb, line 28 def version_exists?(version) request = {application_name: application_name, version_labels: [version]} response = elasticbeanstalk.describe_application_versions(request) ! response.application_versions.empty? end
Private Instance Methods
elasticbeanstalk()
click to toggle source
# File lib/deploy/eb/state.rb, line 36 def elasticbeanstalk @elasticbeanstalk ||= ErrorHandler.with_error_handling { Aws::ElasticBeanstalk::Client.new } end
environment_description_message()
click to toggle source
# File lib/deploy/eb/state.rb, line 41 def environment_description_message ErrorHandler.with_error_handling do elasticbeanstalk.describe_environments( environment_names: [@env] ) end end