right_aws 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +15 -1
- data/lib/right_aws.rb +1 -1
- data/lib/s3/right_s3_interface.rb +23 -12
- metadata +2 -2
data/History.txt
CHANGED
@@ -71,7 +71,6 @@ Initial release.
|
|
71
71
|
|
72
72
|
* r1983, konstantin, 2007-10-25 22:33:00 +0400
|
73
73
|
* Fixed ActiveSupport requirement bug (thanks to Toby)
|
74
|
-
* Fixed HttpConnection logging to stdout bug (thanks to Toby)
|
75
74
|
|
76
75
|
== 1.4.4
|
77
76
|
|
@@ -139,6 +138,21 @@ r2963 | todd | 2008-03-06 19:10:23 -0800 (Thu, 06 Mar 2008) | 3 lines
|
|
139
138
|
in
|
140
139
|
certain rare conditions
|
141
140
|
|
141
|
+
== 1.6.2 2008-03-19
|
142
|
+
------------------------------------------------------------------------
|
143
|
+
r3128 | todd | 2008-03-19 11:54:53 -0700 (Wed, 19 Mar 2008) | 2 lines
|
144
|
+
|
145
|
+
Create 1.6.2 release branch
|
146
|
+
|
147
|
+
------------------------------------------------------------------------
|
148
|
+
r3130 | todd | 2008-03-19 12:01:12 -0700 (Wed, 19 Mar 2008) | 3 lines
|
149
|
+
|
150
|
+
Apply Change 3124 to release_1_6_2 : further fixes to
|
151
|
+
incrementally_list_bucket
|
152
|
+
|
153
|
+
------------------------------------------------------------------------
|
154
|
+
r3134 | todd | 2008-03-19 14:10:25 -0700 (Wed, 19 Mar 2008) | 2 lines
|
142
155
|
|
156
|
+
Merge 3133 (max-keys fix in incrementally_list_bucket) from trunk to 1.6.2
|
143
157
|
|
144
158
|
|
data/lib/right_aws.rb
CHANGED
@@ -283,27 +283,38 @@ module RightAws
|
|
283
283
|
response = request_info(req_hash, S3ImprovedListBucketParser.new(:logger => @logger))
|
284
284
|
there_are_more_keys = response[:is_truncated]
|
285
285
|
if(there_are_more_keys)
|
286
|
-
|
287
|
-
# Dup from response so that no one can mess with these values in the
|
288
|
-
# yield block
|
289
|
-
internal_options[:marker] = response[:next_marker].dup
|
290
|
-
else
|
291
|
-
if( response[:contents].last[:key] > response[:common_prefixes].last )
|
292
|
-
internal_options[:marker] = response[:contents].last[:key].dup
|
293
|
-
else
|
294
|
-
internal_options[:marker] = response[:common_prefixes].last.dup
|
295
|
-
end
|
296
|
-
end
|
286
|
+
internal_options[:marker] = decide_marker(response)
|
297
287
|
total_results = response[:contents].length + response[:common_prefixes].length
|
298
288
|
internal_options[:'max-keys'] ? (internal_options[:'max-keys'] -= total_results) : nil
|
299
289
|
end
|
300
290
|
yield response
|
301
|
-
end while there_are_more_keys && internal_options
|
291
|
+
end while there_are_more_keys && under_max_keys(internal_options)
|
302
292
|
true
|
303
293
|
rescue
|
304
294
|
on_exception
|
305
295
|
end
|
306
296
|
|
297
|
+
|
298
|
+
private
|
299
|
+
def decide_marker(response)
|
300
|
+
return response[:next_marker].dup if response[:next_marker]
|
301
|
+
last_key = response[:contents].last[:key]
|
302
|
+
last_prefix = response[:common_prefixes].last
|
303
|
+
if(!last_key)
|
304
|
+
return nil if(!last_prefix)
|
305
|
+
last_prefix.dup
|
306
|
+
elsif(!last_prefix)
|
307
|
+
last_key.dup
|
308
|
+
else
|
309
|
+
last_key > last_prefix ? last_key.dup : last_prefix.dup
|
310
|
+
end
|
311
|
+
end
|
312
|
+
|
313
|
+
def under_max_keys(internal_options)
|
314
|
+
internal_options[:'max-keys'] ? internal_options[:'max-keys'] > 0 : true
|
315
|
+
end
|
316
|
+
|
317
|
+
public
|
307
318
|
# Saves object to Amazon. Returns +true+ or an exception.
|
308
319
|
# Any header starting with AMAZON_METADATA_PREFIX is considered
|
309
320
|
# user metadata. It will be stored with the object and returned
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: right_aws
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.6.
|
7
|
-
date: 2008-03-
|
6
|
+
version: 1.6.2
|
7
|
+
date: 2008-03-19 00:00:00 -07:00
|
8
8
|
summary: Interface classes for the Amazon EC2, SQS, and S3 Web Services
|
9
9
|
require_paths:
|
10
10
|
- lib
|