s33r 0.3 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/bin/s3cli.rb +1 -1
  2. data/html/classes/MIME/Type.html +137 -137
  3. data/html/classes/MIME/Types.html +56 -56
  4. data/html/classes/Net/HTTPGenericRequest.html +32 -32
  5. data/html/classes/Net/HTTPResponse.html +63 -38
  6. data/html/classes/S33r.html +78 -78
  7. data/html/classes/S33r/BucketListing.html +30 -30
  8. data/html/classes/S33r/Client.html +340 -286
  9. data/html/classes/S33r/NamedBucket.html +209 -179
  10. data/html/classes/S33r/S33rException.html +2 -0
  11. data/html/classes/S33r/S33rException/MissingBucketName.html +111 -0
  12. data/html/classes/S33r/S33rException/S3FallenOver.html +111 -0
  13. data/html/classes/S33r/S3Object.html +24 -24
  14. data/html/classes/S33r/S3User.html +6 -6
  15. data/html/classes/S33r/Sync.html +8 -7
  16. data/html/created.rid +1 -1
  17. data/html/files/README_txt.html +1 -1
  18. data/html/files/lib/s33r/bucket_listing_rb.html +1 -1
  19. data/html/files/lib/s33r/client_rb.html +1 -1
  20. data/html/files/lib/s33r/named_bucket_rb.html +1 -1
  21. data/html/files/lib/s33r/s33r_exception_rb.html +1 -1
  22. data/html/files/lib/s33r/s33r_http_rb.html +1 -1
  23. data/html/files/lib/s33r/sync_rb.html +1 -1
  24. data/html/fr_class_index.html +2 -0
  25. data/html/fr_method_index.html +100 -96
  26. data/lib/s33r/client.rb +15 -6
  27. data/lib/s33r/named_bucket.rb +30 -18
  28. data/lib/s33r/s33r_exception.rb +6 -0
  29. data/lib/s33r/s33r_http.rb +6 -0
  30. data/lib/s33r/sync.rb +1 -1
  31. data/test/cases/spec_bucket_listing.rb +1 -1
  32. data/test/cases/spec_client.rb +13 -4
  33. data/test/cases/spec_core.rb +3 -1
  34. data/test/cases/spec_namedbucket.rb +16 -2
  35. data/test/cases/spec_sync.rb +4 -0
  36. data/test/files/namedbucket_config2.yml +12 -0
  37. data/test/files/s3_object.xml +1 -0
  38. metadata +5 -2
@@ -95,21 +95,22 @@ convenient for use with a single bucket.
95
95
  <h3 class="section-bar">Methods</h3>
96
96
 
97
97
  <div class="name-list">
98
- <a href="#M000063">[]</a>&nbsp;&nbsp;
99
- <a href="#M000071">delete</a>&nbsp;&nbsp;
100
- <a href="#M000072">delete_key</a>&nbsp;&nbsp;
101
- <a href="#M000066">each_item</a>&nbsp;&nbsp;
102
- <a href="#M000067">exists?</a>&nbsp;&nbsp;
103
- <a href="#M000059">init</a>&nbsp;&nbsp;
104
- <a href="#M000065">keys</a>&nbsp;&nbsp;
105
- <a href="#M000064">listing</a>&nbsp;&nbsp;
106
- <a href="#M000060">new</a>&nbsp;&nbsp;
107
- <a href="#M000061">public_contents?</a>&nbsp;&nbsp;
108
- <a href="#M000069">put_file</a>&nbsp;&nbsp;
109
- <a href="#M000070">put_stream</a>&nbsp;&nbsp;
110
- <a href="#M000068">put_text</a>&nbsp;&nbsp;
111
- <a href="#M000073">s3_authenticated_url</a>&nbsp;&nbsp;
112
- <a href="#M000062">strict?</a>&nbsp;&nbsp;
98
+ <a href="#M000064">[]</a>&nbsp;&nbsp;
99
+ <a href="#M000074">delete_resource</a>&nbsp;&nbsp;
100
+ <a href="#M000067">destroy</a>&nbsp;&nbsp;
101
+ <a href="#M000069">each_item</a>&nbsp;&nbsp;
102
+ <a href="#M000066">exists?</a>&nbsp;&nbsp;
103
+ <a href="#M000060">init</a>&nbsp;&nbsp;
104
+ <a href="#M000070">key_exists?</a>&nbsp;&nbsp;
105
+ <a href="#M000068">keys</a>&nbsp;&nbsp;
106
+ <a href="#M000065">listing</a>&nbsp;&nbsp;
107
+ <a href="#M000061">new</a>&nbsp;&nbsp;
108
+ <a href="#M000062">public_contents?</a>&nbsp;&nbsp;
109
+ <a href="#M000072">put_file</a>&nbsp;&nbsp;
110
+ <a href="#M000073">put_stream</a>&nbsp;&nbsp;
111
+ <a href="#M000071">put_text</a>&nbsp;&nbsp;
112
+ <a href="#M000075">s3_authenticated_url</a>&nbsp;&nbsp;
113
+ <a href="#M000063">strict?</a>&nbsp;&nbsp;
113
114
  </div>
114
115
  </div>
115
116
 
@@ -159,11 +160,11 @@ convenient for use with a single bucket.
159
160
  <div id="methods">
160
161
  <h3 class="section-bar">Public Class methods</h3>
161
162
 
162
- <div id="method-M000059" class="method-detail">
163
- <a name="M000059"></a>
163
+ <div id="method-M000060" class="method-detail">
164
+ <a name="M000060"></a>
164
165
 
165
166
  <div class="method-heading">
166
- <a href="#M000059" class="method-signature">
167
+ <a href="#M000060" class="method-signature">
167
168
  <span class="method-name">init</span><span class="method-args">(config_file)</span>
168
169
  </a>
169
170
  </div>
@@ -174,27 +175,27 @@ Initialize an instance from a config_file. The config. file can include a
174
175
  separate <tt>options</tt> section specifying options specific to <a
175
176
  href="NamedBucket.html">NamedBucket</a> instances (see the initialize
176
177
  method for more details). Other options are as for <a
177
- href="Client.html#M000080">S33r::Client.init</a>.
178
+ href="Client.html#M000082">S33r::Client.init</a>.
178
179
  </p>
179
180
  <p><a class="source-toggle" href="#"
180
- onclick="toggleCode('M000059-source');return false;">[Source]</a></p>
181
- <div class="method-source-code" id="M000059-source">
181
+ onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
182
+ <div class="method-source-code" id="M000060-source">
182
183
  <pre>
183
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 13</span>
184
- 13: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">NamedBucket</span>.<span class="ruby-identifier">init</span>(<span class="ruby-identifier">config_file</span>)
185
- 14: <span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>, <span class="ruby-identifier">_</span> = <span class="ruby-keyword kw">super</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">load_config</span>(<span class="ruby-identifier">config_file</span>)
186
- 15: <span class="ruby-constant">NamedBucket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>)
187
- 16: <span class="ruby-keyword kw">end</span>
184
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 15</span>
185
+ 15: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">NamedBucket</span>.<span class="ruby-identifier">init</span>(<span class="ruby-identifier">config_file</span>)
186
+ 16: <span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>, <span class="ruby-identifier">_</span> = <span class="ruby-keyword kw">super</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">load_config</span>(<span class="ruby-identifier">config_file</span>)
187
+ 17: <span class="ruby-constant">NamedBucket</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>)
188
+ 18: <span class="ruby-keyword kw">end</span>
188
189
  </pre>
189
190
  </div>
190
191
  </div>
191
192
  </div>
192
193
 
193
- <div id="method-M000060" class="method-detail">
194
- <a name="M000060"></a>
194
+ <div id="method-M000061" class="method-detail">
195
+ <a name="M000061"></a>
195
196
 
196
197
  <div class="method-heading">
197
- <a href="#M000060" class="method-signature">
198
+ <a href="#M000061" class="method-signature">
198
199
  <span class="method-name">new</span><span class="method-args">(aws_access_key, aws_secret_access_key, options={}) {|self if block_given?| ...}</span>
199
200
  </a>
200
201
  </div>
@@ -222,29 +223,33 @@ exist
222
223
  </li>
223
224
  </ul>
224
225
  <p><a class="source-toggle" href="#"
225
- onclick="toggleCode('M000060-source');return false;">[Source]</a></p>
226
- <div class="method-source-code" id="M000060-source">
226
+ onclick="toggleCode('M000061-source');return false;">[Source]</a></p>
227
+ <div class="method-source-code" id="M000061-source">
227
228
  <pre>
228
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 25</span>
229
- 25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>={}, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
230
- 26: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>)
231
- 27:
232
- 28: <span class="ruby-ivar">@bucket_name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:default_bucket</span>]
233
- 29:
234
- 30: <span class="ruby-comment cmt"># holds a BucketListing instance</span>
235
- 31: <span class="ruby-ivar">@bucket_listing</span> = <span class="ruby-keyword kw">nil</span>
236
- 32:
237
- 33: <span class="ruby-comment cmt"># all content should be created as public-read</span>
238
- 34: <span class="ruby-ivar">@public_contents</span> = (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:public_contents</span>])
239
- 35: <span class="ruby-ivar">@client_headers</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">canned_acl_header</span>(<span class="ruby-value str">'public-read'</span>)) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@public_contents</span>
240
- 36:
241
- 37: <span class="ruby-ivar">@strict</span> = (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:strict</span>])
242
- 38: <span class="ruby-keyword kw">if</span> ((<span class="ruby-ivar">@strict</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">bucket_exists?</span>(<span class="ruby-ivar">@bucket_name</span>)) <span class="ruby-operator">||</span> <span class="ruby-ivar">@bucket_name</span>.<span class="ruby-identifier">nil?</span>)
243
- 39: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">MissingResource</span>, <span class="ruby-node">&quot;The specified bucket name #{@bucket_name} does not exist or is invalid&quot;</span>
244
- 40: <span class="ruby-keyword kw">end</span>
245
- 41:
246
- 42: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
247
- 43: <span class="ruby-keyword kw">end</span>
229
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 27</span>
230
+ 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>={}, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
231
+ 28: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">aws_access_key</span>, <span class="ruby-identifier">aws_secret_access_key</span>, <span class="ruby-identifier">options</span>)
232
+ 29:
233
+ 30: <span class="ruby-ivar">@bucket_name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:default_bucket</span>]
234
+ 31: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@bucket_name</span>.<span class="ruby-identifier">nil?</span>
235
+ 32: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">MissingBucketName</span>, <span class="ruby-value str">&quot;NamedBucket cannot be initialised without specifying\
236
+ 33: a :default_bucket option&quot;</span>
237
+ 34: <span class="ruby-keyword kw">end</span>
238
+ 35:
239
+ 36: <span class="ruby-comment cmt"># holds a BucketListing instance</span>
240
+ 37: <span class="ruby-ivar">@bucket_listing</span> = <span class="ruby-keyword kw">nil</span>
241
+ 38:
242
+ 39: <span class="ruby-comment cmt"># all content should be created as public-read</span>
243
+ 40: <span class="ruby-ivar">@public_contents</span> = (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:public_contents</span>])
244
+ 41: <span class="ruby-ivar">@client_headers</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">canned_acl_header</span>(<span class="ruby-value str">'public-read'</span>)) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@public_contents</span>
245
+ 42:
246
+ 43: <span class="ruby-ivar">@strict</span> = (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:strict</span>])
247
+ 44: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@strict</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">bucket_exists?</span>(<span class="ruby-ivar">@bucket_name</span>)
248
+ 45: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">MissingResource</span>, <span class="ruby-node">&quot;Non-existent bucket #{@bucket_name} specified&quot;</span>
249
+ 46: <span class="ruby-keyword kw">end</span>
250
+ 47:
251
+ 48: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
252
+ 49: <span class="ruby-keyword kw">end</span>
248
253
  </pre>
249
254
  </div>
250
255
  </div>
@@ -252,11 +257,11 @@ exist
252
257
 
253
258
  <h3 class="section-bar">Public Instance methods</h3>
254
259
 
255
- <div id="method-M000063" class="method-detail">
256
- <a name="M000063"></a>
260
+ <div id="method-M000064" class="method-detail">
261
+ <a name="M000064"></a>
257
262
 
258
263
  <div class="method-heading">
259
- <a href="#M000063" class="method-signature">
264
+ <a href="#M000064" class="method-signature">
260
265
  <span class="method-name">[]</span><span class="method-args">(key)</span>
261
266
  </a>
262
267
  </div>
@@ -266,80 +271,79 @@ exist
266
271
  Get a single object from a bucket as a blob.
267
272
  </p>
268
273
  <p><a class="source-toggle" href="#"
269
- onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
270
- <div class="method-source-code" id="M000063-source">
274
+ onclick="toggleCode('M000064-source');return false;">[Source]</a></p>
275
+ <div class="method-source-code" id="M000064-source">
271
276
  <pre>
272
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 56</span>
273
- 56: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
274
- 57: <span class="ruby-identifier">get_resource</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">key</span>).<span class="ruby-identifier">body</span>
275
- 58: <span class="ruby-keyword kw">end</span>
277
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 62</span>
278
+ 62: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
279
+ 63: <span class="ruby-identifier">get_resource</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">key</span>).<span class="ruby-identifier">body</span>
280
+ 64: <span class="ruby-keyword kw">end</span>
276
281
  </pre>
277
282
  </div>
278
283
  </div>
279
284
  </div>
280
285
 
281
- <div id="method-M000071" class="method-detail">
282
- <a name="M000071"></a>
286
+ <div id="method-M000074" class="method-detail">
287
+ <a name="M000074"></a>
283
288
 
284
289
  <div class="method-heading">
285
- <a href="#M000071" class="method-signature">
286
- <span class="method-name">delete</span><span class="method-args">(headers={}, options={})</span>
290
+ <a href="#M000074" class="method-signature">
291
+ <span class="method-name">delete_resource</span><span class="method-args">(resource_key, headers={})</span>
287
292
  </a>
288
293
  </div>
289
294
 
290
295
  <div class="method-description">
291
296
  <p>
292
- Delete the bucket.
297
+ Delete an object from the bucket. NB S3 doesn&#8217;t discriminate between
298
+ successfully deleting a key and trying to delete a non-existent key (both
299
+ return a 204). If you want to test for existence first, use <a
300
+ href="NamedBucket.html#M000070">key_exists?</a>.
293
301
  </p>
294
302
  <p><a class="source-toggle" href="#"
295
- onclick="toggleCode('M000071-source');return false;">[Source]</a></p>
296
- <div class="method-source-code" id="M000071-source">
303
+ onclick="toggleCode('M000074-source');return false;">[Source]</a></p>
304
+ <div class="method-source-code" id="M000074-source">
297
305
  <pre>
298
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 98</span>
299
- 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">headers</span>={}, <span class="ruby-identifier">options</span>={})
300
- 99: <span class="ruby-identifier">delete_bucket</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">options</span>)
301
- 100: <span class="ruby-keyword kw">end</span>
306
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 118</span>
307
+ 118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_resource</span>(<span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
308
+ 119: <span class="ruby-keyword kw">super</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>)
309
+ 120: <span class="ruby-identifier">listing</span>
310
+ 121: <span class="ruby-keyword kw">end</span>
302
311
  </pre>
303
312
  </div>
304
313
  </div>
305
314
  </div>
306
315
 
307
- <div id="method-M000072" class="method-detail">
308
- <a name="M000072"></a>
316
+ <div id="method-M000067" class="method-detail">
317
+ <a name="M000067"></a>
309
318
 
310
319
  <div class="method-heading">
311
- <a href="#M000072" class="method-signature">
312
- <span class="method-name">delete_key</span><span class="method-args">(resource_key, headers={})</span>
320
+ <a href="#M000067" class="method-signature">
321
+ <span class="method-name">destroy</span><span class="method-args">(headers={}, options={})</span>
313
322
  </a>
314
323
  </div>
315
324
 
316
325
  <div class="method-description">
317
326
  <p>
318
- Delete an object from the bucket.
319
- </p>
320
- <p>
321
- Returns boolean (true = deletion worked OK).
327
+ Delete the bucket.
322
328
  </p>
323
329
  <p><a class="source-toggle" href="#"
324
- onclick="toggleCode('M000072-source');return false;">[Source]</a></p>
325
- <div class="method-source-code" id="M000072-source">
330
+ onclick="toggleCode('M000067-source');return false;">[Source]</a></p>
331
+ <div class="method-source-code" id="M000067-source">
326
332
  <pre>
327
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 105</span>
328
- 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_key</span>(<span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
329
- 106: <span class="ruby-identifier">response</span> = <span class="ruby-identifier">delete_resource</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>)
330
- 107: <span class="ruby-identifier">listing</span>
331
- 108: <span class="ruby-identifier">response</span>.<span class="ruby-identifier">ok?</span>
332
- 109: <span class="ruby-keyword kw">end</span>
333
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 79</span>
334
+ 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">destroy</span>(<span class="ruby-identifier">headers</span>={}, <span class="ruby-identifier">options</span>={})
335
+ 80: <span class="ruby-identifier">delete_bucket</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">options</span>)
336
+ 81: <span class="ruby-keyword kw">end</span>
333
337
  </pre>
334
338
  </div>
335
339
  </div>
336
340
  </div>
337
341
 
338
- <div id="method-M000066" class="method-detail">
339
- <a name="M000066"></a>
342
+ <div id="method-M000069" class="method-detail">
343
+ <a name="M000069"></a>
340
344
 
341
345
  <div class="method-heading">
342
- <a href="#M000066" class="method-signature">
346
+ <a href="#M000069" class="method-signature">
343
347
  <span class="method-name">each_item</span><span class="method-args">() {|item| ...}</span>
344
348
  </a>
345
349
  </div>
@@ -350,23 +354,23 @@ List content of the bucket, and attach each item to this bucket as it is
350
354
  yielded.
351
355
  </p>
352
356
  <p><a class="source-toggle" href="#"
353
- onclick="toggleCode('M000066-source');return false;">[Source]</a></p>
354
- <div class="method-source-code" id="M000066-source">
357
+ onclick="toggleCode('M000069-source');return false;">[Source]</a></p>
358
+ <div class="method-source-code" id="M000069-source">
355
359
  <pre>
356
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 72</span>
357
- 72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_item</span>
358
- 73: <span class="ruby-identifier">listing</span>.<span class="ruby-identifier">contents</span>.<span class="ruby-identifier">each_value</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">named_bucket</span> = <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">item</span> }
359
- 74: <span class="ruby-keyword kw">end</span>
360
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 89</span>
361
+ 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_item</span>
362
+ 90: <span class="ruby-identifier">listing</span>.<span class="ruby-identifier">contents</span>.<span class="ruby-identifier">each_value</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">named_bucket</span> = <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">item</span> }
363
+ 91: <span class="ruby-keyword kw">end</span>
360
364
  </pre>
361
365
  </div>
362
366
  </div>
363
367
  </div>
364
368
 
365
- <div id="method-M000067" class="method-detail">
366
- <a name="M000067"></a>
369
+ <div id="method-M000066" class="method-detail">
370
+ <a name="M000066"></a>
367
371
 
368
372
  <div class="method-heading">
369
- <a href="#M000067" class="method-signature">
373
+ <a href="#M000066" class="method-signature">
370
374
  <span class="method-name">exists?</span><span class="method-args">()</span>
371
375
  </a>
372
376
  </div>
@@ -377,23 +381,49 @@ Does this bucket exist? Returns true if the bucket this <a
377
381
  href="NamedBucket.html">NamedBucket</a> is mapped to exists.
378
382
  </p>
379
383
  <p><a class="source-toggle" href="#"
380
- onclick="toggleCode('M000067-source');return false;">[Source]</a></p>
381
- <div class="method-source-code" id="M000067-source">
384
+ onclick="toggleCode('M000066-source');return false;">[Source]</a></p>
385
+ <div class="method-source-code" id="M000066-source">
382
386
  <pre>
383
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 78</span>
384
- 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exists?</span>
385
- 79: <span class="ruby-identifier">bucket_exists?</span>(<span class="ruby-ivar">@bucket_name</span>)
386
- 80: <span class="ruby-keyword kw">end</span>
387
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 74</span>
388
+ 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exists?</span>
389
+ 75: <span class="ruby-identifier">bucket_exists?</span>(<span class="ruby-ivar">@bucket_name</span>)
390
+ 76: <span class="ruby-keyword kw">end</span>
387
391
  </pre>
388
392
  </div>
389
393
  </div>
390
394
  </div>
391
395
 
392
- <div id="method-M000065" class="method-detail">
393
- <a name="M000065"></a>
396
+ <div id="method-M000070" class="method-detail">
397
+ <a name="M000070"></a>
394
398
 
395
399
  <div class="method-heading">
396
- <a href="#M000065" class="method-signature">
400
+ <a href="#M000070" class="method-signature">
401
+ <span class="method-name">key_exists?</span><span class="method-args">(key)</span>
402
+ </a>
403
+ </div>
404
+
405
+ <div class="method-description">
406
+ <p>
407
+ Does the given key exist in the bucket? Returns boolean
408
+ </p>
409
+ <p><a class="source-toggle" href="#"
410
+ onclick="toggleCode('M000070-source');return false;">[Source]</a></p>
411
+ <div class="method-source-code" id="M000070-source">
412
+ <pre>
413
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 95</span>
414
+ 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">key_exists?</span>(<span class="ruby-identifier">key</span>)
415
+ 96: <span class="ruby-identifier">head_resource</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">key</span>).<span class="ruby-identifier">ok?</span>
416
+ 97: <span class="ruby-keyword kw">end</span>
417
+ </pre>
418
+ </div>
419
+ </div>
420
+ </div>
421
+
422
+ <div id="method-M000068" class="method-detail">
423
+ <a name="M000068"></a>
424
+
425
+ <div class="method-heading">
426
+ <a href="#M000068" class="method-signature">
397
427
  <span class="method-name">keys</span><span class="method-args">()</span>
398
428
  </a>
399
429
  </div>
@@ -403,23 +433,23 @@ href="NamedBucket.html">NamedBucket</a> is mapped to exists.
403
433
  Get a pretty list of the keys in the bucket.
404
434
  </p>
405
435
  <p><a class="source-toggle" href="#"
406
- onclick="toggleCode('M000065-source');return false;">[Source]</a></p>
407
- <div class="method-source-code" id="M000065-source">
436
+ onclick="toggleCode('M000068-source');return false;">[Source]</a></p>
437
+ <div class="method-source-code" id="M000068-source">
408
438
  <pre>
409
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 67</span>
410
- 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys</span>
411
- 68: <span class="ruby-identifier">listing</span>.<span class="ruby-identifier">pretty</span>
412
- 69: <span class="ruby-keyword kw">end</span>
439
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 84</span>
440
+ 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys</span>
441
+ 85: <span class="ruby-identifier">listing</span>.<span class="ruby-identifier">pretty</span>
442
+ 86: <span class="ruby-keyword kw">end</span>
413
443
  </pre>
414
444
  </div>
415
445
  </div>
416
446
  </div>
417
447
 
418
- <div id="method-M000064" class="method-detail">
419
- <a name="M000064"></a>
448
+ <div id="method-M000065" class="method-detail">
449
+ <a name="M000065"></a>
420
450
 
421
451
  <div class="method-heading">
422
- <a href="#M000064" class="method-signature">
452
+ <a href="#M000065" class="method-signature">
423
453
  <span class="method-name">listing</span><span class="method-args">()</span>
424
454
  </a>
425
455
  </div>
@@ -430,24 +460,24 @@ Get a <a href="BucketListing.html">BucketListing</a> instance for the
430
460
  content of this bucket.
431
461
  </p>
432
462
  <p><a class="source-toggle" href="#"
433
- onclick="toggleCode('M000064-source');return false;">[Source]</a></p>
434
- <div class="method-source-code" id="M000064-source">
463
+ onclick="toggleCode('M000065-source');return false;">[Source]</a></p>
464
+ <div class="method-source-code" id="M000065-source">
435
465
  <pre>
436
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 61</span>
437
- 61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listing</span>
438
- 62: <span class="ruby-identifier">_</span>, <span class="ruby-ivar">@bucket_listing</span> = <span class="ruby-identifier">list_bucket</span>(<span class="ruby-ivar">@bucket_name</span>)
439
- 63: <span class="ruby-ivar">@bucket_listing</span>
440
- 64: <span class="ruby-keyword kw">end</span>
466
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 67</span>
467
+ 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listing</span>
468
+ 68: <span class="ruby-identifier">_</span>, <span class="ruby-ivar">@bucket_listing</span> = <span class="ruby-identifier">list_bucket</span>(<span class="ruby-ivar">@bucket_name</span>)
469
+ 69: <span class="ruby-ivar">@bucket_listing</span>
470
+ 70: <span class="ruby-keyword kw">end</span>
441
471
  </pre>
442
472
  </div>
443
473
  </div>
444
474
  </div>
445
475
 
446
- <div id="method-M000061" class="method-detail">
447
- <a name="M000061"></a>
476
+ <div id="method-M000062" class="method-detail">
477
+ <a name="M000062"></a>
448
478
 
449
479
  <div class="method-heading">
450
- <a href="#M000061" class="method-signature">
480
+ <a href="#M000062" class="method-signature">
451
481
  <span class="method-name">public_contents?</span><span class="method-args">()</span>
452
482
  </a>
453
483
  </div>
@@ -457,23 +487,23 @@ content of this bucket.
457
487
  Are all objects added to this bucket made public by default?
458
488
  </p>
459
489
  <p><a class="source-toggle" href="#"
460
- onclick="toggleCode('M000061-source');return false;">[Source]</a></p>
461
- <div class="method-source-code" id="M000061-source">
490
+ onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
491
+ <div class="method-source-code" id="M000062-source">
462
492
  <pre>
463
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 46</span>
464
- 46: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">public_contents?</span>
465
- 47: <span class="ruby-ivar">@public_contents</span>
466
- 48: <span class="ruby-keyword kw">end</span>
493
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 52</span>
494
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">public_contents?</span>
495
+ 53: <span class="ruby-ivar">@public_contents</span>
496
+ 54: <span class="ruby-keyword kw">end</span>
467
497
  </pre>
468
498
  </div>
469
499
  </div>
470
500
  </div>
471
501
 
472
- <div id="method-M000069" class="method-detail">
473
- <a name="M000069"></a>
502
+ <div id="method-M000072" class="method-detail">
503
+ <a name="M000072"></a>
474
504
 
475
505
  <div class="method-heading">
476
- <a href="#M000069" class="method-signature">
506
+ <a href="#M000072" class="method-signature">
477
507
  <span class="method-name">put_file</span><span class="method-args">(filename, resource_key=nil, headers={}, options={})</span>
478
508
  </a>
479
509
  </div>
@@ -483,49 +513,49 @@ Are all objects added to this bucket made public by default?
483
513
  Put a file into the bucket.
484
514
  </p>
485
515
  <p><a class="source-toggle" href="#"
486
- onclick="toggleCode('M000069-source');return false;">[Source]</a></p>
487
- <div class="method-source-code" id="M000069-source">
516
+ onclick="toggleCode('M000072-source');return false;">[Source]</a></p>
517
+ <div class="method-source-code" id="M000072-source">
488
518
  <pre>
489
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 88</span>
490
- 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_file</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>={}, <span class="ruby-identifier">options</span>={})
491
- 89: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">options</span>)
492
- 90: <span class="ruby-keyword kw">end</span>
519
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 105</span>
520
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_file</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">resource_key</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">headers</span>={}, <span class="ruby-identifier">options</span>={})
521
+ 106: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">options</span>)
522
+ 107: <span class="ruby-keyword kw">end</span>
493
523
  </pre>
494
524
  </div>
495
525
  </div>
496
526
  </div>
497
527
 
498
- <div id="method-M000070" class="method-detail">
499
- <a name="M000070"></a>
528
+ <div id="method-M000073" class="method-detail">
529
+ <a name="M000073"></a>
500
530
 
501
531
  <div class="method-heading">
502
- <a href="#M000070" class="method-signature">
532
+ <a href="#M000073" class="method-signature">
503
533
  <span class="method-name">put_stream</span><span class="method-args">(data, resource_key, headers={})</span>
504
534
  </a>
505
535
  </div>
506
536
 
507
537
  <div class="method-description">
508
538
  <p>
509
- Put a generic resource (e.g. from a data stream) into the bucket.
539
+ Put a generic stream (e.g. from a file handle) into the bucket.
510
540
  </p>
511
541
  <p><a class="source-toggle" href="#"
512
- onclick="toggleCode('M000070-source');return false;">[Source]</a></p>
513
- <div class="method-source-code" id="M000070-source">
542
+ onclick="toggleCode('M000073-source');return false;">[Source]</a></p>
543
+ <div class="method-source-code" id="M000073-source">
514
544
  <pre>
515
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 93</span>
516
- 93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_stream</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
517
- 94: <span class="ruby-identifier">put_resource</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
518
- 95: <span class="ruby-keyword kw">end</span>
545
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 110</span>
546
+ 110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_stream</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
547
+ 111: <span class="ruby-identifier">put_resource</span>(<span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">headers</span>)
548
+ 112: <span class="ruby-keyword kw">end</span>
519
549
  </pre>
520
550
  </div>
521
551
  </div>
522
552
  </div>
523
553
 
524
- <div id="method-M000068" class="method-detail">
525
- <a name="M000068"></a>
554
+ <div id="method-M000071" class="method-detail">
555
+ <a name="M000071"></a>
526
556
 
527
557
  <div class="method-heading">
528
- <a href="#M000068" class="method-signature">
558
+ <a href="#M000071" class="method-signature">
529
559
  <span class="method-name">put_text</span><span class="method-args">(string, resource_key, headers={})</span>
530
560
  </a>
531
561
  </div>
@@ -535,23 +565,23 @@ Put a generic resource (e.g. from a data stream) into the bucket.
535
565
  Put a string into a key inside the bucket.
536
566
  </p>
537
567
  <p><a class="source-toggle" href="#"
538
- onclick="toggleCode('M000068-source');return false;">[Source]</a></p>
539
- <div class="method-source-code" id="M000068-source">
568
+ onclick="toggleCode('M000071-source');return false;">[Source]</a></p>
569
+ <div class="method-source-code" id="M000071-source">
540
570
  <pre>
541
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 83</span>
542
- 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_text</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
543
- 84: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">string</span>, <span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>)
544
- 85: <span class="ruby-keyword kw">end</span>
571
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 100</span>
572
+ 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">put_text</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>={})
573
+ 101: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">string</span>, <span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">headers</span>)
574
+ 102: <span class="ruby-keyword kw">end</span>
545
575
  </pre>
546
576
  </div>
547
577
  </div>
548
578
  </div>
549
579
 
550
- <div id="method-M000073" class="method-detail">
551
- <a name="M000073"></a>
580
+ <div id="method-M000075" class="method-detail">
581
+ <a name="M000075"></a>
552
582
 
553
583
  <div class="method-heading">
554
- <a href="#M000073" class="method-signature">
584
+ <a href="#M000075" class="method-signature">
555
585
  <span class="method-name">s3_authenticated_url</span><span class="method-args">(resource_key, expires=(Time.now.to_i + DEFAULT_EXPIRY_SECS))</span>
556
586
  </a>
557
587
  </div>
@@ -567,23 +597,23 @@ for an object inside this bucket.
567
597
  invalid.
568
598
  </p>
569
599
  <p><a class="source-toggle" href="#"
570
- onclick="toggleCode('M000073-source');return false;">[Source]</a></p>
571
- <div class="method-source-code" id="M000073-source">
600
+ onclick="toggleCode('M000075-source');return false;">[Source]</a></p>
601
+ <div class="method-source-code" id="M000075-source">
572
602
  <pre>
573
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 115</span>
574
- 115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">s3_authenticated_url</span>(<span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">expires</span>=(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-constant">DEFAULT_EXPIRY_SECS</span>))
575
- 116: <span class="ruby-keyword kw">super</span>(<span class="ruby-ivar">@aws_access_key</span>, <span class="ruby-ivar">@aws_secret_access_key</span>, <span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">expires</span>)
576
- 117: <span class="ruby-keyword kw">end</span>
603
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 127</span>
604
+ 127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">s3_authenticated_url</span>(<span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">expires</span>=(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-constant">DEFAULT_EXPIRY_SECS</span>))
605
+ 128: <span class="ruby-keyword kw">super</span>(<span class="ruby-ivar">@aws_access_key</span>, <span class="ruby-ivar">@aws_secret_access_key</span>, <span class="ruby-ivar">@bucket_name</span>, <span class="ruby-identifier">resource_key</span>, <span class="ruby-identifier">expires</span>)
606
+ 129: <span class="ruby-keyword kw">end</span>
577
607
  </pre>
578
608
  </div>
579
609
  </div>
580
610
  </div>
581
611
 
582
- <div id="method-M000062" class="method-detail">
583
- <a name="M000062"></a>
612
+ <div id="method-M000063" class="method-detail">
613
+ <a name="M000063"></a>
584
614
 
585
615
  <div class="method-heading">
586
- <a href="#M000062" class="method-signature">
616
+ <a href="#M000063" class="method-signature">
587
617
  <span class="method-name">strict?</span><span class="method-args">()</span>
588
618
  </a>
589
619
  </div>
@@ -593,13 +623,13 @@ invalid.
593
623
  Is this a strict bucket (i.e. the target bucket must exist on S3)?
594
624
  </p>
595
625
  <p><a class="source-toggle" href="#"
596
- onclick="toggleCode('M000062-source');return false;">[Source]</a></p>
597
- <div class="method-source-code" id="M000062-source">
626
+ onclick="toggleCode('M000063-source');return false;">[Source]</a></p>
627
+ <div class="method-source-code" id="M000063-source">
598
628
  <pre>
599
- <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 51</span>
600
- 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">strict?</span>
601
- 52: <span class="ruby-ivar">@strict</span>
602
- 53: <span class="ruby-keyword kw">end</span>
629
+ <span class="ruby-comment cmt"># File lib/s33r/named_bucket.rb, line 57</span>
630
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">strict?</span>
631
+ 58: <span class="ruby-ivar">@strict</span>
632
+ 59: <span class="ruby-keyword kw">end</span>
603
633
  </pre>
604
634
  </div>
605
635
  </div>