Sha256: 5072f186c674425759531b1f8ab7291793a5ff7f0a58a74641822c116afab521

Contents?: true

Size: 1.6 KB

Versions: 22

Compression:

Stored size: 1.6 KB

Contents

module Rudy::AWS
  class S3
    
    def initialize(access_key=nil, secret_key=nil, region=nil, debug=nil)
      require 'aws/s3'    
      
      url ||= 'http://sdb.amazonaws.com'
      # There is a bug with passing :server to EC2::Base.new so 
      # we'll use the environment variable for now. 
      #if region && Rudy::AWS.valid_region?(region)
      #  "#{region}.sdb.amazonaws.com"
      #end
      
      @access_key_id = access_key || ENV['AWS_ACCESS_KEY'] || ENV['AMAZON_ACCESS_KEY_ID']
      @secret_access_key = secret_key || ENV['AWS_SECRET_KEY'] || ENV['AMAZON_SECRET_ACCESS_KEY']
      @base_url = url
      @debug = debug || StringIO.new
      
      
      AWS::S3::Base.establish_connection!(
        :access_key_id     => @access_key_id,
        :secret_access_key => @secret_access_key
      )
      
    end
    
    def list_buckets
      ::AWS::S3::Service.buckets
    end
    
    def create_bucket(name, location=nil)
      opts = {}
      opts[:location] = location.to_s.upcase if location
      ::AWS::S3::Bucket.create(name, opts)
    end
    
    def destroy_bucket(name)
      ::AWS::S3::Bucket.delete(name)
    end
    
    def find_bucket(name)
      blist = ::AWS::S3::Service.buckets
      blist.select { |bobj| bobj.name == name }.first
    end
    
    def list_bucket_objects(name)
      ::AWS::S3::Bucket.objects(name)
    end
    
    #def store(path, bucket)
    #  fname = File.basename(path)
    #  S3Object.store(fname, open(path), bucket)
    #end
    
    def bucket_exists?(name)
      b = find_bucket(name)
      !b.nil?
    end
    
    autoload :Error, 'rudy/aws/sdb/error'
    
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
rudy-0.9.8.020 lib/rudy/aws/s3.rb
rudy-0.9.8.019 lib/rudy/aws/s3.rb
rudy-0.9.8.018 lib/rudy/aws/s3.rb
rudy-0.9.8.017 lib/rudy/aws/s3.rb
rudy-0.9.8.016 lib/rudy/aws/s3.rb
rudy-0.9.8.015 lib/rudy/aws/s3.rb
rudy-0.9.8.014 lib/rudy/aws/s3.rb
rudy-0.9.8.013 lib/rudy/aws/s3.rb
rudy-0.9.8.012 lib/rudy/aws/s3.rb
rudy-0.9.8.011 lib/rudy/aws/s3.rb
rudy-0.9.8.010 lib/rudy/aws/s3.rb
rudy-0.9.8.009 lib/rudy/aws/s3.rb
rudy-0.9.8.008 lib/rudy/aws/s3.rb
rudy-0.9.8.007 lib/rudy/aws/s3.rb
rudy-0.9.8.006 lib/rudy/aws/s3.rb
rudy-0.9.8.005 lib/rudy/aws/s3.rb
rudy-0.9.8.004 lib/rudy/aws/s3.rb
rudy-0.9.8.003 lib/rudy/aws/s3.rb
rudy-0.9.8.002 lib/rudy/aws/s3.rb
rudy-0.9.8.001 lib/rudy/aws/s3.rb