Class: AWS::S3::BucketCollection
- Inherits:
-
Object
- Object
- AWS::S3::BucketCollection
- Includes:
- Enumerable
- Defined in:
- lib/aws/s3/bucket_collection.rb
Overview
Represents a collection of buckets.
You can use this to create a bucket:
s3.buckets.create(:name => "mybucket")
You can get a handle for a specific bucket with indifferent access:
bucket = s3.buckets[:mybucket]
bucket = s3.buckets['mybucket']
You can also use it to find out which buckets are in your account:
s3.buckets.collect(&:name)
#=> ['bucket1', 'bucket2', ...]
Instance Method Summary collapse
-
#[](bucket_name) ⇒ Bucket
Returns the Bucket with the given name.
-
#create(bucket_name, options = {}) ⇒ Bucket
Creates and returns a new Bucket.
-
#each(&block) ⇒ nil
Iterates the buckets in this collection.
Instance Method Details
#[](bucket_name) ⇒ Bucket
Returns the Bucket with the given name.
Makes no requests. The returned bucket object can be used to make requets for the bucket and its objects.
92 93 94 |
# File 'lib/aws/s3/bucket_collection.rb', line 92 def [] bucket_name bucket_named(bucket_name) end |
#create(bucket_name, options = {}) ⇒ Bucket
Creates and returns a new Bucket. For example:
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/aws/s3/bucket_collection.rb', line 60 def create(bucket_name, = {}) # auto set the location constraint for the user if it is not # passed in and the endpoint is not the us-standard region. don't # override the location constraint though, even it is wrong, unless config.s3_endpoint == 's3.amazonaws.com' or [:location_constraint] then [:location_constraint] = case config.s3_endpoint when 's3-eu-west-1.amazonaws.com' then 'EU' else config.s3_endpoint.match(/^s3-(.*)\.amazonaws\.com$/)[1] end end client.create_bucket(.merge(:bucket_name => bucket_name)) bucket_named(bucket_name) end |
#each(&block) ⇒ nil
Iterates the buckets in this collection.
105 106 107 108 109 110 111 |
# File 'lib/aws/s3/bucket_collection.rb', line 105 def each &block response = client.list_buckets response.buckets.each do |b| yield(bucket_named(b.name, response.owner)) end nil end |