mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
normalize on key instead of name for directory
This commit is contained in:
parent
7ad51ae816
commit
bb1f2e5a72
5 changed files with 38 additions and 34 deletions
|
@ -26,15 +26,15 @@ module Fog
|
|||
load(data)
|
||||
end
|
||||
|
||||
def get(name, options = {})
|
||||
def get(key, options = {})
|
||||
remap_attributes(options, {
|
||||
:delimiter => 'delimiter',
|
||||
:marker => 'marker',
|
||||
:max_keys => 'max-keys',
|
||||
:prefix => 'prefix'
|
||||
})
|
||||
data = connection.get_bucket(name, options).body
|
||||
directory = new(:name => data['Name'])
|
||||
data = connection.get_bucket(key, options).body
|
||||
directory = new(:key => data['Name'])
|
||||
options = {}
|
||||
for key, value in data
|
||||
if ['Delimiter', 'IsTruncated', 'Marker', 'MaxKeys', 'Prefix'].include?(key)
|
||||
|
@ -44,7 +44,7 @@ module Fog
|
|||
directory.files.merge_attributes(options)
|
||||
files = data['Contents']
|
||||
while data['IsTruncated']
|
||||
data = connection.get_bucket(name, options.merge!('marker' => files.last['Key'])).body
|
||||
data = connection.get_bucket(key, options.merge!('marker' => files.last['Key'])).body
|
||||
files.concat(data['Contents'])
|
||||
end
|
||||
directory.files.load(files)
|
||||
|
|
|
@ -6,22 +6,24 @@ module Fog
|
|||
module S3
|
||||
|
||||
class Directory < Fog::Model
|
||||
extend Fog::Deprecation
|
||||
deprecate(:name, :key)
|
||||
|
||||
identity :name, 'Name'
|
||||
identity :key, 'Name'
|
||||
|
||||
attribute :creation_date, 'CreationDate'
|
||||
|
||||
def destroy
|
||||
requires :name
|
||||
connection.delete_bucket(@name)
|
||||
requires :key
|
||||
connection.delete_bucket(key)
|
||||
true
|
||||
rescue Excon::Errors::NotFound
|
||||
false
|
||||
end
|
||||
|
||||
def location
|
||||
requires :name
|
||||
data = connection.get_bucket_location(@name)
|
||||
requires :key
|
||||
data = connection.get_bucket_location(key)
|
||||
data.body['LocationConstraint']
|
||||
end
|
||||
|
||||
|
@ -39,24 +41,24 @@ module Fog
|
|||
end
|
||||
|
||||
def payer
|
||||
requires :name
|
||||
data = connection.get_request_payment(@name)
|
||||
requires :key
|
||||
data = connection.get_request_payment(key)
|
||||
data.body['Payer']
|
||||
end
|
||||
|
||||
def payer=(new_payer)
|
||||
requires :name
|
||||
connection.put_request_payment(@name, new_payer)
|
||||
requires :key
|
||||
connection.put_request_payment(key, new_payer)
|
||||
@payer = new_payer
|
||||
end
|
||||
|
||||
def save
|
||||
requires :name
|
||||
requires :key
|
||||
options = {}
|
||||
if @location
|
||||
options['LocationConstraint'] = @location
|
||||
end
|
||||
connection.put_bucket(@name, options)
|
||||
connection.put_bucket(key, options)
|
||||
true
|
||||
end
|
||||
|
||||
|
|
|
@ -26,9 +26,9 @@ module Fog
|
|||
load(data)
|
||||
end
|
||||
|
||||
def get(name, options = {})
|
||||
data = connection.get_container(name, options).body
|
||||
directory = new(:name => name)
|
||||
def get(key, options = {})
|
||||
data = connection.get_container(key, options).body
|
||||
directory = new(:key => key)
|
||||
directory.files.merge_attributes(options)
|
||||
directory.files.instance_variable_set(:@loaded, true)
|
||||
data.each do |file|
|
||||
|
|
|
@ -6,15 +6,17 @@ module Fog
|
|||
module Files
|
||||
|
||||
class Directory < Fog::Model
|
||||
extend Fog::Deprecation
|
||||
deprecate(:name, :key)
|
||||
|
||||
identity :name
|
||||
identity :key, 'name'
|
||||
|
||||
attribute :bytes
|
||||
attribute :count
|
||||
|
||||
def destroy
|
||||
requires :name
|
||||
connection.delete_container(@name)
|
||||
requires :key
|
||||
connection.delete_container(key)
|
||||
true
|
||||
rescue Excon::Errors::NotFound
|
||||
false
|
||||
|
@ -30,8 +32,8 @@ module Fog
|
|||
end
|
||||
|
||||
def save
|
||||
requires :name
|
||||
connection.put_container(@name)
|
||||
requires :key
|
||||
connection.put_container(key)
|
||||
true
|
||||
end
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ describe 'Fog::AWS::S3::Directory' do
|
|||
now = Time.now
|
||||
directory = Fog::AWS::S3::Directory.new(
|
||||
'CreationDate' => now,
|
||||
'Name' => 'directoryname'
|
||||
'Key' => 'directorykey'
|
||||
)
|
||||
directory.creation_date.should == now
|
||||
directory.name.should == 'directoryname'
|
||||
directory.key.should == 'directorykey'
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -28,12 +28,12 @@ describe 'Fog::AWS::S3::Directory' do
|
|||
describe "#destroy" do
|
||||
|
||||
it "should return true if the directory is deleted" do
|
||||
directory = AWS[:s3].directories.create(:name => 'fogmodeldirectory')
|
||||
directory = AWS[:s3].directories.create(:key => 'fogmodeldirectory')
|
||||
directory.destroy.should be_true
|
||||
end
|
||||
|
||||
it "should return false if the directory does not exist" do
|
||||
directory = AWS[:s3].directories.new(:name => 'fogmodeldirectory')
|
||||
directory = AWS[:s3].directories.new(:key => 'fogmodeldirectory')
|
||||
directory.destroy.should be_false
|
||||
end
|
||||
|
||||
|
@ -42,7 +42,7 @@ describe 'Fog::AWS::S3::Directory' do
|
|||
describe "#location" do
|
||||
|
||||
it "should return the location constraint" do
|
||||
directory = AWS[:s3].directories.create(:name => 'fogmodeleudirectory', :location => 'EU')
|
||||
directory = AWS[:s3].directories.create(:key => 'fogmodeleudirectory', :location => 'EU')
|
||||
directory.location.should == 'EU'
|
||||
AWS[:eu_s3].directories.get('fogmodeleudirectory').destroy
|
||||
end
|
||||
|
@ -52,7 +52,7 @@ describe 'Fog::AWS::S3::Directory' do
|
|||
describe "#payer" do
|
||||
|
||||
it "should return the request payment value" do
|
||||
directory = AWS[:s3].directories.create(:name => 'fogmodeldirectory')
|
||||
directory = AWS[:s3].directories.create(:key => 'fogmodeldirectory')
|
||||
directory.payer.should == 'BucketOwner'
|
||||
directory.destroy.should be_true
|
||||
end
|
||||
|
@ -62,7 +62,7 @@ describe 'Fog::AWS::S3::Directory' do
|
|||
describe "#payer=" do
|
||||
|
||||
it "should set the request payment value" do
|
||||
directory = AWS[:s3].directories.create(:name => 'fogmodeldirectory')
|
||||
directory = AWS[:s3].directories.create(:key => 'fogmodeldirectory')
|
||||
(directory.payer = 'Requester').should == 'Requester'
|
||||
directory.destroy.should
|
||||
end
|
||||
|
@ -72,7 +72,7 @@ describe 'Fog::AWS::S3::Directory' do
|
|||
describe "#reload" do
|
||||
|
||||
before(:each) do
|
||||
@directory = AWS[:s3].directories.create(:name => 'fogmodeldirectory')
|
||||
@directory = AWS[:s3].directories.create(:key => 'fogmodeldirectory')
|
||||
@reloaded = @directory.reload
|
||||
end
|
||||
|
||||
|
@ -89,11 +89,11 @@ describe 'Fog::AWS::S3::Directory' do
|
|||
describe "#save" do
|
||||
|
||||
before(:each) do
|
||||
@directory = AWS[:s3].directories.new(:name => 'fogmodeldirectory')
|
||||
@directory = AWS[:s3].directories.new(:key => 'fogmodeldirectory')
|
||||
end
|
||||
|
||||
it "should not exist in directories before save" do
|
||||
AWS[:s3].directories.all.map {|directory| directory.name}.include?(@directory.name).should be_false
|
||||
AWS[:s3].directories.all.map {|directory| directory.key}.include?(@directory.key).should be_false
|
||||
end
|
||||
|
||||
it "should return true when it succeeds" do
|
||||
|
@ -103,7 +103,7 @@ describe 'Fog::AWS::S3::Directory' do
|
|||
|
||||
it "should exist in directories after save" do
|
||||
@directory.save
|
||||
AWS[:s3].directories.all.map {|directory| directory.name}.include?(@directory.name).should be_true
|
||||
AWS[:s3].directories.all.map {|directory| directory.key}.include?(@directory.key).should be_true
|
||||
@directory.destroy
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue