Sha256: a68f5015db670d2ca543e701e915e2811caec37f9788731b672de8d03769f0a1

Contents?: true

Size: 880 Bytes

Versions: 5

Compression:

Stored size: 880 Bytes

Contents

module Heirloom

  class ArtifactDestroyer

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

    def destroy(args)
      id = args[:id]
      name = args[:name]

      @logger.info "Destroying #{args[:name]} - #{args[:id]}"

      @config.regions.each do |region|
        bucket = "#{@config.bucket_prefix}-#{region}"
        key = "#{id}.tar.gz"

        @logger.info "Deleting s3://#{bucket}/#{name}/#{key}"

        s3_destroyer = Destroyer::S3.new :config => @config,
                                         :region => region

        s3_destroyer.destroy_file :key_name => key,
                                  :key_folder => name,
                                  :bucket => bucket

        sdb.delete name, id
      end
    end

    private

    def sdb
      @sdb ||= AWS::SimpleDB.new :config => @config
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
heirloom-0.1.2 lib/heirloom/artifact/artifact_destroyer.rb
heirloom-0.1.1 lib/heirloom/artifact/artifact_destroyer.rb
heirloom-0.1.0 lib/heirloom/artifact/artifact_destroyer.rb
heirloom-0.0.9 lib/heirloom/artifact/artifact_destroyer.rb
heirloom-0.0.8 lib/heirloom/artifact/artifact_destroyer.rb