Sha256: 0485b03e44995c04d5b287cd9a39372b53398d65174d4eb5687e104a7a47793a

Contents?: true

Size: 1.26 KB

Versions: 31

Compression:

Stored size: 1.26 KB

Contents

module Heirloom

  class Setuper

    def initialize(args)
      @config = args[:config]
      @name   = args[:name]
      @domain = "heirloom_#{@name}"
      @logger = @config.logger
    end

    def setup(args)
      @regions       = args[:regions]
      @bucket_prefix = args[:bucket_prefix]
      create_buckets
      create_domain
      @logger.info "Setup complete."
    end

    private

    def create_buckets
      @regions.each do |region|
        bucket = "#{@bucket_prefix}-#{region}"
       
        unless verifier.bucket_exists? :region        => region,
                                       :bucket_prefix => @bucket_prefix
          @logger.info "Creating bucket #{bucket} in #{region}."
          s3 = AWS::S3.new :config => @config,
                           :region => region
          s3.put_bucket bucket, region
        end
      end
    end

    def create_domain
      region = @config.metadata_region

      unless verifier.domain_exists?
        @logger.info "Creating domain #{@name} in #{region}."
        sdb.create_domain @domain 
      end
    end

    def verifier
      @verifier ||= Verifier.new :config => @config,
                                 :name   => @name
    end

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

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
heirloom-0.12.7 lib/heirloom/archive/setuper.rb
heirloom-0.12.5 lib/heirloom/archive/setuper.rb
heirloom-0.12.4 lib/heirloom/archive/setuper.rb
heirloom-0.12.3 lib/heirloom/archive/setuper.rb
heirloom-0.12.2 lib/heirloom/archive/setuper.rb
heirloom-0.12.1 lib/heirloom/archive/setuper.rb
heirloom-0.12.0 lib/heirloom/archive/setuper.rb
heirloom-0.11.2 lib/heirloom/archive/setuper.rb
heirloom-0.11.1 lib/heirloom/archive/setuper.rb
heirloom-0.11.0 lib/heirloom/archive/setuper.rb
heirloom-0.11.0.beta.2 lib/heirloom/archive/setuper.rb
heirloom-0.11.0.beta.1 lib/heirloom/archive/setuper.rb
heirloom-0.10.1 lib/heirloom/archive/setuper.rb
heirloom-0.10.0 lib/heirloom/archive/setuper.rb
heirloom-0.9.0 lib/heirloom/archive/setuper.rb
heirloom-0.8.3 lib/heirloom/archive/setuper.rb
heirloom-0.8.2 lib/heirloom/archive/setuper.rb
heirloom-0.8.1 lib/heirloom/archive/setuper.rb
heirloom-0.8.0 lib/heirloom/archive/setuper.rb
heirloom-0.7.4 lib/heirloom/archive/setuper.rb