Sha256: b6d1b8ad7b1677e006debb7146d669d5adf12ebd916da35cb6fb22a95c7e7322

Contents?: true

Size: 1.34 KB

Versions: 22

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.test_compatibility(create_options)
      @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)
      EbEnvironment.new(@env.app_name,
                        [@env.name, @name, suffix].compact.join('-'),
                        @eb_driver,
                        create_options.merge(:cname_prefix => cname_prefix_overriding || cname_prefix))

    end

    private

    def create_options
      @env.creation_opts.merge(@options)
    end

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

Version data entries

22 entries across 22 versions & 3 rubygems

Version Path
man_eb_deployer-0.8.0 lib/eb_deployer/component.rb
eb_deployer_updated-0.8.1 lib/eb_deployer/component.rb
eb_deployer_updated-0.8.0 lib/eb_deployer/component.rb
eb_deployer-0.7.0 lib/eb_deployer/component.rb
eb_deployer-0.6.6 lib/eb_deployer/component.rb
eb_deployer-0.6.5 lib/eb_deployer/component.rb
eb_deployer-0.6.4 lib/eb_deployer/component.rb
eb_deployer-0.6.3 lib/eb_deployer/component.rb
eb_deployer-0.6.2 lib/eb_deployer/component.rb
eb_deployer-0.6.1 lib/eb_deployer/component.rb
eb_deployer-0.6.0 lib/eb_deployer/component.rb
eb_deployer-0.6.0.beta6 lib/eb_deployer/component.rb
eb_deployer-0.6.0.beta5 lib/eb_deployer/component.rb
eb_deployer-0.6.0.beta4 lib/eb_deployer/component.rb
eb_deployer-0.6.0.beta3 lib/eb_deployer/component.rb
eb_deployer-0.6.0.beta2 lib/eb_deployer/component.rb
eb_deployer-0.5.2 lib/eb_deployer/component.rb
eb_deployer-0.6.0.beta1 lib/eb_deployer/component.rb
eb_deployer-0.5.1.beta3 lib/eb_deployer/component.rb
eb_deployer-0.5.1.beta2 lib/eb_deployer/component.rb