class EbDeployer::Environment

Attributes

component_under_deploy[W]
creation_opts[RW]
inactive_settings[W]
name[R]
resource_stacks[W]
settings[W]
strategy_name[RW]

Public Class Methods

new(app, name, stack_name, eb_driver) { |self| ... } click to toggle source
# File lib/eb_deployer/environment.rb, line 10
def initialize(app, name, stack_name, eb_driver, &block)
  @app = app
  @name = name
  @stack_name = stack_name
  @eb_driver = eb_driver
  @creation_opts = {}
  @settings = []
  @inactive_settings = []
  @strategy_name = :blue_green
  @components = nil
  yield(self) if block_given?
  unless @components
    @components = [DefaultComponent.new(self, @creation_opts, @strategy_name, @eb_driver)]
  end
end

Public Instance Methods

app_name() click to toggle source
# File lib/eb_deployer/environment.rb, line 26
def app_name
  @app.name
end
components=(components_attrs) click to toggle source
# File lib/eb_deployer/environment.rb, line 37
def components=(components_attrs)
  return unless components_attrs
  @components = components_attrs.map do |attrs|
    attrs = symbolize_keys(attrs)
    Component.new(attrs.delete(:name), self, attrs, @eb_driver)
  end
end
deploy(version_label) click to toggle source
# File lib/eb_deployer/environment.rb, line 30
def deploy(version_label)
  resource_settings = @resource_stacks.provision(@stack_name)
  components_to_deploy.each do |component|
    component.deploy(version_label, @settings + resource_settings, @inactive_settings)
  end
end

Private Instance Methods

component_named(name) click to toggle source
# File lib/eb_deployer/environment.rb, line 56
def component_named(name)
  @components.detect { |c| c.name == name }
end
components_to_deploy() click to toggle source
# File lib/eb_deployer/environment.rb, line 46
def components_to_deploy
  if @component_under_deploy
    component = component_named(@component_under_deploy)
    raise "'#{@component_under_deploy}' is not in the configuration. Available components are #{@components.map(&:name) }" unless component
    [component]
  else
    @components
  end
end