mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
fleshing out bucket
This commit is contained in:
parent
5a8947f296
commit
1ea2938987
3 changed files with 52 additions and 1 deletions
|
@ -4,7 +4,36 @@ module Fog
|
|||
|
||||
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
|
||||
|
||||
|
|
|
@ -27,6 +27,12 @@ module Fog
|
|||
buckets
|
||||
end
|
||||
|
||||
def create(attributes = {})
|
||||
bucket = new(attributes)
|
||||
bucket.save
|
||||
bucket
|
||||
end
|
||||
|
||||
def get(name, options = {})
|
||||
data = connection.get_bucket(name, options).body
|
||||
objects = Fog::AWS::S3::Objects.new({
|
||||
|
@ -54,6 +60,10 @@ module Fog
|
|||
objects
|
||||
end
|
||||
|
||||
def new(attributes = {})
|
||||
Fog::AWS::S3::Bucket.new(attributes.merge!(:connection => connection))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -10,4 +10,16 @@ describe 'S3.buckets' do
|
|||
p s3.buckets.get('monki')
|
||||
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
|
Loading…
Add table
Reference in a new issue