Sha256: 96d18ec669c47edee8367ac38b265fc2c436d0120e0f9c470f4ef547430de3b7

Contents?: true

Size: 957 Bytes

Versions: 1

Compression:

Stored size: 957 Bytes

Contents

module EbDeployer
  class DefaultComponent
    def initialize(env, creation_opts, eb_driver)
      @env = env
      @eb_driver = eb_driver
      @creation_opts = creation_opts
    end

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


    def deploy(version_label, strategy_name, eb_settings)
      strategy = create_strategy(strategy_name)
      strategy.deploy(version_label, eb_settings)
    end

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

    private

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

    def create_strategy(strategy_name)
      DeploymentStrategy.create(self, strategy_name)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
eb_deployer-0.4.1 lib/eb_deployer/default_component.rb