s3 0.3.12 → 0.3.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e94aa6f4e9214e728160e133f28264d1bd00b25
4
- data.tar.gz: e3e15a25e2ef8f5882f088ec487ebb177cbc56b9
3
+ metadata.gz: bfbd6c2968596ae775b047409255708d1fb304a9
4
+ data.tar.gz: f1296429ad3cd6869eaaa16adf15b08408c0a8d5
5
5
  SHA512:
6
- metadata.gz: 2faf2eb87b1bf05b904dea7134e4efddd14b118963a7a0bb817d26e3277a43072c180bb4fe92a1bec92ac5fc97f42f558144e33e27d890487bdbffdfff4969fb
7
- data.tar.gz: e19ef4917499f81051c263883660353a5a17c1c334cae53cc212f251c2ded50520d0cc1970debc09f76876bcd03b0818f93958d27f3e2b7bc152337e6cfc40a6
6
+ metadata.gz: ca03bd46f901203969e043c7bcc9197902c05f8f292b52a3ba1e993feb6197d36512f38aed0308b0840eca9d80b1a2044d9131c81fb638d8acd0d4a42e9fc143
7
+ data.tar.gz: c95eacf047227ae2e8926ffeae126c02a56eaaa92ede06b667ea10e71dd7c4868fb33dc0f31e0fb129176726683935a60361855851352c4fdef513d9ed62b23d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- s3 (0.3.12)
4
+ s3 (0.3.13)
5
5
  proxies (~> 0.2.0)
6
6
 
7
7
  GEM
data/lib/s3/bucket.rb CHANGED
@@ -109,10 +109,10 @@ module S3
109
109
  end
110
110
 
111
111
  # Returns the objects in the bucket and caches the result
112
- def objects
113
- Proxy.new(lambda { list_bucket }, :owner => self, :extend => ObjectsExtension)
112
+ def objects(options={})
113
+ Proxy.new(lambda { list_bucket(options) }, :owner => self, :extend => ObjectsExtension)
114
114
  end
115
-
115
+
116
116
  # Returns the object with the given key. Does not check whether the
117
117
  # object exists. But also does not issue any HTTP requests, so it's
118
118
  # much faster than objects.find
data/lib/s3/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module S3
2
- VERSION = "0.3.12"
2
+ VERSION = "0.3.13"
3
3
  end
data/test/bucket_test.rb CHANGED
@@ -31,7 +31,14 @@ class BucketTest < Test::Unit::TestCase
31
31
  @objects_list_empty = []
32
32
  @objects_list = [
33
33
  S3::Object.send(:new, @bucket, :key => "obj1"),
34
- S3::Object.send(:new, @bucket, :key => "obj2")
34
+ S3::Object.send(:new, @bucket, :key => "obj2"),
35
+ S3::Object.send(:new, @bucket, :key => "prefix/"),
36
+ S3::Object.send(:new, @bucket, :key => "prefix/obj3")
37
+ ]
38
+
39
+ @objects_list_prefix = [
40
+ S3::Object.send(:new, @bucket, :key => "prefix/"),
41
+ S3::Object.send(:new, @bucket, :key => "prefix/obj3")
35
42
  ]
36
43
 
37
44
  @response_objects_list_empty_body = <<-EOEmpty
@@ -42,11 +49,19 @@ class BucketTest < Test::Unit::TestCase
42
49
  @response_objects_list_empty.stubs(:body).returns(@response_objects_list_empty_body)
43
50
 
44
51
  @response_objects_list_body = <<-EOObjects
45
- <?xml version="1.0" encoding="UTF-8"?>\n<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>bucket</Name> <Prefix></Prefix> <Marker></Marker> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>obj1</Key> <LastModified>2009-07-03T10:17:33.000Z</LastModified> <ETag>&quot;99519cdf14c255e580e1b7bca85a458c&quot;</ETag> <Size>1729</Size> <Owner> <ID>df864aeb6f42be43f1d9e60aaabe3f15e245b035a4b79d1cfe36c4deaec67205</ID> <DisplayName>owner</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>obj2</Key> <LastModified>2009-07-03T11:17:33.000Z</LastModified> <ETag>&quot;99519cdf14c255e586e1b12bca85a458c&quot;</ETag> <Size>179</Size> <Owner> <ID>df864aeb6f42be43f1d9e60aaabe3f17e247b037a4b79d1cfe36c4deaec67205</ID> <DisplayName>owner</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> </ListBucketResult>
52
+ <?xml version="1.0" encoding="UTF-8"?>\n<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>bucket</Name> <Prefix></Prefix> <Marker></Marker> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>obj1</Key> <LastModified>2009-07-03T10:17:33.000Z</LastModified> <ETag>&quot;99519cdf14c255e580e1b7bca85a458c&quot;</ETag> <Size>1729</Size> <Owner> <ID>df864aeb6f42be43f1d9e60aaabe3f15e245b035a4b79d1cfe36c4deaec67205</ID> <DisplayName>owner</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>obj2</Key> <LastModified>2009-07-03T11:17:33.000Z</LastModified> <ETag>&quot;99519cdf14c255e586e1b12bca85a458c&quot;</ETag> <Size>179</Size> <Owner> <ID>df864aeb6f42be43f1d9e60aaabe3f17e247b037a4b79d1cfe36c4deaec67205</ID> <DisplayName>owner</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>prefix/</Key> <LastModified>2009-07-03T10:17:33.000Z</LastModified> <ETag>&quot;99519cdf14c255e580e1b7bca85a458c&quot;</ETag> <Size>1729</Size> <Owner> <ID>df864aeb6f42be43f1d9e60aaabe3f15e245b035a4b79d1cfe36c4deaec67205</ID> <DisplayName>owner</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>prefix/obj3</Key> <LastModified>2009-07-03T10:17:33.000Z</LastModified> <ETag>&quot;99519cdf14c255e580e1b7bca85a458c&quot;</ETag> <Size>1729</Size> <Owner> <ID>df864aeb6f42be43f1d9e60aaabe3f15e245b035a4b79d1cfe36c4deaec67205</ID> <DisplayName>owner</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> </ListBucketResult>
46
53
  EOObjects
47
54
 
48
55
  @response_objects_list = Net::HTTPOK.new("1.1", "200", "OK")
49
56
  @response_objects_list.stubs(:body).returns(@response_objects_list_body)
57
+
58
+ @response_objects_list_body_prefix = <<-EOObjectsPrefix
59
+ <?xml version="1.0" encoding="UTF-8"?>\n<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>bucket</Name> <Prefix>prefix</Prefix> <Marker></Marker> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>prefix/</Key> <LastModified>2009-07-03T10:17:33.000Z</LastModified> <ETag>&quot;99519cdf14c255e580e1b7bca85a458c&quot;</ETag> <Size>1729</Size> <Owner> <ID>df864aeb6f42be43f1d9e60aaabe3f15e245b035a4b79d1cfe36c4deaec67205</ID> <DisplayName>owner</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>prefix/obj3</Key> <LastModified>2009-07-03T10:17:33.000Z</LastModified> <ETag>&quot;99519cdf14c255e580e1b7bca85a458c&quot;</ETag> <Size>1729</Size> <Owner> <ID>df864aeb6f42be43f1d9e60aaabe3f15e245b035a4b79d1cfe36c4deaec67205</ID> <DisplayName>owner</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> </ListBucketResult>
60
+ EOObjectsPrefix
61
+
62
+
63
+ @response_objects_list_prefix = Net::HTTPOK.new("1.1", "200", "OK")
64
+ @response_objects_list_prefix.stubs(:body).returns(@response_objects_list_body_prefix)
50
65
  end
51
66
 
52
67
  test "name valid" do
@@ -143,6 +158,11 @@ class BucketTest < Test::Unit::TestCase
143
158
  expected = @objects_list
144
159
  actual = @bucket.objects
145
160
  assert_equal expected, actual
161
+
162
+ @bucket.stubs(:list_bucket).with(:prefix=>'prefix').returns(@objects_list_prefix)
163
+ expected = @objects_list_prefix
164
+ actual = @bucket.objects(:prefix => 'prefix')
165
+ assert_equal expected, actual
146
166
  end
147
167
 
148
168
  test "list bucket and parse objects" do
@@ -155,6 +175,11 @@ class BucketTest < Test::Unit::TestCase
155
175
  expected = @objects_list
156
176
  actual = @bucket.objects.find_all(:test => true)
157
177
  assert_equal expected, actual
178
+
179
+ @bucket.expects(:bucket_request).with(:get, :params => { :test => true }).returns(@response_objects_list_prefix)
180
+ expected = @objects_list_prefix
181
+ actual = @bucket.objects(:prefix => "prefix").find_all(:test => true)
182
+ assert_equal expected, actual
158
183
  end
159
184
 
160
185
  test "destroy" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.12
4
+ version: 0.3.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kuba Kuźma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-05 00:00:00.000000000 Z
11
+ date: 2013-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: proxies
@@ -118,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  version: 1.3.6
119
119
  requirements: []
120
120
  rubyforge_project: s3
121
- rubygems_version: 2.0.2
121
+ rubygems_version: 2.0.3
122
122
  signing_key:
123
123
  specification_version: 4
124
124
  summary: Library for accessing S3 objects and buckets