Class: Deploy::Eb::State

Inherits:
Object
  • Object
show all
Defined in:
lib/deploy/eb/state.rb

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ State

Returns a new instance of State.



4
5
6
# File 'lib/deploy/eb/state.rb', line 4

def initialize(env)
  @env = env
end

Instance Method Details

#application_nameObject



24
25
26
# File 'lib/deploy/eb/state.rb', line 24

def application_name
  environment_info.application_name
end

#environment_infoObject



20
21
22
# File 'lib/deploy/eb/state.rb', line 20

def environment_info
  @environment_info ||= environment_description_message.environments[0]
end

#exists?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/deploy/eb/state.rb', line 8

def exists?
  !environment_info.nil?
end

#ready?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/deploy/eb/state.rb', line 12

def ready?
  environment_info.status.eql? 'Ready'
end

#switchObject



16
17
18
# File 'lib/deploy/eb/state.rb', line 16

def switch
  system("eb use #{@env}")
end

#version_exists?(version) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
31
32
# 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