fleshing out bucket

This commit is contained in:
Wesley Beary 2009-08-03 22:50:52 -07:00
parent 5a8947f296
commit 1ea2938987
3 changed files with 52 additions and 1 deletions

View File

@ -4,7 +4,36 @@ module Fog
class Bucket < Fog::Model class Bucket < Fog::Model
attr_accessor :creation_date, :name, :owner attr_accessor :creation_date, :location, :name, :owner
def delete
connection.delete_bucket(name)
true
end
def location
data = s3.get_bucket_location(name)
@location = data.body['LocationConstraint']
end
def payer
data = connection.get_request_payment(name)
data.body['Payer']
end
def payer=(new_payer)
connection.put_request_payment(name, new_payer)
new_payer
end
def save
options = {}
if @location
options['LocationConstraint'] = @location
end
connection.put_bucket(name, options)
true
end
end end

View File

@ -27,6 +27,12 @@ module Fog
buckets buckets
end end
def create(attributes = {})
bucket = new(attributes)
bucket.save
bucket
end
def get(name, options = {}) def get(name, options = {})
data = connection.get_bucket(name, options).body data = connection.get_bucket(name, options).body
objects = Fog::AWS::S3::Objects.new({ objects = Fog::AWS::S3::Objects.new({
@ -54,6 +60,10 @@ module Fog
objects objects
end end
def new(attributes = {})
Fog::AWS::S3::Bucket.new(attributes.merge!(:connection => connection))
end
end end
end end

View File

@ -10,4 +10,16 @@ describe 'S3.buckets' do
p s3.buckets.get('monki') p s3.buckets.get('monki')
end end
it "should create bucket" do
p @bucket = s3.buckets.create(:name => 'fogbucketstest')
p @bucket.delete
end
it "should put request payment" do
p @bucket = s3.buckets.create(:name => 'fogbucketspaymenttest')
p @bucket.payer = 'BucketOwner'
p @bucket.payer
p @bucket.delete
end
end end