Sha256: 93ecd323dd819d084257fc8343b62b0b3aef2c70706d0cfb3f2d7336a084086a

Contents?: true

Size: 1.34 KB

Versions: 17

Compression:

Stored size: 1.34 KB

Contents

module EbDeployer
  class Component
    attr_reader :name

    def initialize(name, env, options, eb_driver)
      @name = name
      @env = env
      @eb_driver = eb_driver
      @options = options.dup
      @component_eb_settings = @options.delete(:option_settings) || []
      @component_inactive_settings = @options.delete(:inactive_settings) || []
      strategy_name = @options[:strategy] || @env.strategy_name
      @strategy = DeploymentStrategy.create(self, strategy_name)
    end

    def cname_prefix
      @options[:cname_prefix] || default_cname_prefix
    end

    def deploy(version_label, eb_settings, inactive_settings=[])
      @strategy.deploy(version_label,
                       eb_settings + @component_eb_settings,
                       inactive_settings + @component_inactive_settings)
    end

    def new_eb_env(suffix=nil, cname_prefix_overriding=nil)
      env_name = [@env.name, @name, suffix].compact.join('-')
      creation_opts = @env.creation_opts.merge(@options)
      creation_opts = creation_opts.merge(:cname_prefix => cname_prefix_overriding || cname_prefix)
      EbEnvironment.new(@env.app_name,
                        env_name,
                        @eb_driver,
                        creation_opts)

    end

    private

    def default_cname_prefix
      [@env.app_name, @env.name, @name].join('-')
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
eb_deployer-0.4.13 lib/eb_deployer/component.rb
eb_deployer-0.4.12 lib/eb_deployer/component.rb
eb_deployer-0.4.11 lib/eb_deployer/component.rb
eb_deployer-0.4.10 lib/eb_deployer/component.rb
eb_deployer-0.4.9 lib/eb_deployer/component.rb
eb_deployer-0.4.8 lib/eb_deployer/component.rb
eb_deployer-0.4.7.beta1 lib/eb_deployer/component.rb
eb_deployer-0.4.6 lib/eb_deployer/component.rb
eb_deployer-0.4.5 lib/eb_deployer/component.rb
eb_deployer-0.4.4 lib/eb_deployer/component.rb
eb_deployer-0.4.4.beta7 lib/eb_deployer/component.rb
eb_deployer-0.4.4.beta6 lib/eb_deployer/component.rb
eb_deployer-0.4.4.beta5 lib/eb_deployer/component.rb
eb_deployer-0.4.4.beta4 lib/eb_deployer/component.rb
eb_deployer-0.4.4.beta3 lib/eb_deployer/component.rb
eb_deployer-0.4.4.beta2 lib/eb_deployer/component.rb
eb_deployer-0.4.4.beta1 lib/eb_deployer/component.rb