Sha256: 60d3bd383a7db18d749ef09cc4d9252694eb7cd8919c4b786529dfa61bb7b1b9

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

module SimpleDeploy
  class StackAttributeFormater

    def initialize(args)
      @config = args[:config]
      @environment = args[:environment]
      @region = @config.region @environment
      @logger = @config.logger
    end

    def updated_attributes(attributes)
      updates = []
      attributes.each do |attribute|
        key = attribute.keys.first
        if artifact_names.include? key
          updates << cloud_formation_url(attribute)
          @logger.info "Adding artifact attribute: #{cloud_formation_url(attribute)}"
        end
      end
      attributes + updates
    end

    def artifact_names
      @config.artifacts.map {|i| i['name']}
    end
    
    def cloud_formation_url attribute
      name = attribute.keys.first
      id = attribute[name]
      a = @config.artifacts.select { |a| a['name'] == name }.first

      bucket_prefix = @config.artifact_bucket_prefix artifact
      cloud_formation_url = @config.artifact_cloud_formation_url artifact

      artifact = Artifact.new :name          => name,
                              :id            => id,
                              :region        => @region,
                              :config        => @config,
                              :bucket_prefix => bucket_prefix

      { cloud_formation_url => artifact.endpoints['s3'] }
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
simple_deploy-0.3.0 lib/simple_deploy/stack/stack_attribute_formater.rb