Sha256: fd5932ecc443127f65997c4096b3c77539db1d69713684a7c4588b19c85757ed

Contents?: true

Size: 711 Bytes

Versions: 1

Compression:

Stored size: 711 Bytes

Contents

module S3
  class BucketCollection < Driver::Model
    include Enumerable

    def create(bucket_name)
      @api.create_bucket(bucket_name)
      bucket_named(bucket_name)
    end

    # @example
    #
    #   bucket = client.buckets[:mybucket],
    #   bucket = client.buckets['mybucket'],
    #
    # @param [String] bucket_name
    # @return [Bucket]
    def [] bucket_name
      bucket_named(bucket_name)
    end

    def each
      xml_doc = @api.buckets
      buckets = S3::Concerns::BucketsResult.new(xml_doc).buckets
      buckets.each do |bucket|
        yield bucket_named(bucket)
      end
    end

    private

    def bucket_named(bucket)
      S3::Bucket.new(@api, bucket.to_s)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
s3-client-0.0.1 lib/s3/client/model/bucket_collection.rb