html/classes/S33r/BucketListing.html in s33r-0.3.1 vs html/classes/S33r/BucketListing.html in s33r-0.4
- old
+ new
@@ -90,15 +90,16 @@
<div id="method-list">
<h3 class="section-bar">Methods</h3>
<div class="name-list">
- <a href="#M000079">[]</a>
- <a href="#M000076">new</a>
- <a href="#M000078">parse_listing</a>
- <a href="#M000080">pretty</a>
- <a href="#M000077">set_listing_xml</a>
+ <a href="#M000111">[]</a>
+ <a href="#M000110">last_key</a>
+ <a href="#M000107">new</a>
+ <a href="#M000109">parse_listing</a>
+ <a href="#M000112">pretty</a>
+ <a href="#M000108">set_listing_xml</a>
</div>
</div>
</div>
@@ -138,10 +139,18 @@
<td class="context-item-name">is_truncated</td>
<td class="context-item-value"> [R] </td>
<td class="context-item-desc"></td>
</tr>
<tr class="top-aligned-row context-row">
+ <td class="context-item-name">last_key</td>
+ <td class="context-item-value"> [R] </td>
+ <td class="context-item-desc">
+The last key listed in this <a href="BucketListing.html">BucketListing</a>.
+
+</td>
+ </tr>
+ <tr class="top-aligned-row context-row">
<td class="context-item-name">marker</td>
<td class="context-item-value"> [R] </td>
<td class="context-item-desc"></td>
</tr>
<tr class="top-aligned-row context-row">
@@ -179,15 +188,15 @@
<!-- if method_list -->
<div id="methods">
<h3 class="section-bar">Public Class methods</h3>
- <div id="method-M000076" class="method-detail">
- <a name="M000076"></a>
+ <div id="method-M000107" class="method-detail">
+ <a name="M000107"></a>
<div class="method-heading">
- <a href="#M000076" class="method-signature">
+ <a href="#M000107" class="method-signature">
<span class="method-name">new</span><span class="method-args">(bucket_listing_xml, named_bucket=nil)</span>
</a>
</div>
<div class="method-description">
@@ -205,12 +214,12 @@
inside this listing can be associated with that instance. This enables
objects to be easily deleted without having to create a new <a
href="Client.html">Client</a> instance.
</p>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000076-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000076-source">
+ onclick="toggleCode('M000107-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000107-source">
<pre>
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 27</span>
27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">bucket_listing_xml</span>, <span class="ruby-identifier">named_bucket</span>=<span class="ruby-keyword kw">nil</span>)
28: <span class="ruby-ivar">@contents</span> = {}
29: <span class="ruby-ivar">@common_prefixes</span> = {}
@@ -223,136 +232,164 @@
</div>
</div>
<h3 class="section-bar">Public Instance methods</h3>
- <div id="method-M000079" class="method-detail">
- <a name="M000079"></a>
+ <div id="method-M000111" class="method-detail">
+ <a name="M000111"></a>
<div class="method-heading">
- <a href="#M000079" class="method-signature">
+ <a href="#M000111" class="method-signature">
<span class="method-name">[]</span><span class="method-args">(key)</span>
</a>
</div>
<div class="method-description">
<p>
Return an object in this bucket by key.
</p>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000079-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000079-source">
+ onclick="toggleCode('M000111-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000111-source">
<pre>
- <span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 72</span>
-72: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
-73: <span class="ruby-ivar">@contents</span>[<span class="ruby-identifier">key</span>]
-74: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 79</span>
+79: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
+80: <span class="ruby-ivar">@contents</span>[<span class="ruby-identifier">key</span>]
+81: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
</div>
- <div id="method-M000078" class="method-detail">
- <a name="M000078"></a>
+ <div id="method-M000110" class="method-detail">
+ <a name="M000110"></a>
<div class="method-heading">
- <a href="#M000078" class="method-signature">
+ <a href="#M000110" class="method-signature">
+ <span class="method-name">last_key</span><span class="method-args">()</span>
+ </a>
+ </div>
+
+ <div class="method-description">
+ <p>
+Get the last key in the contents hash.
+</p>
+ <p><a class="source-toggle" href="#"
+ onclick="toggleCode('M000110-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000110-source">
+<pre>
+ <span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 74</span>
+74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">last_key</span>
+75: <span class="ruby-ivar">@contents</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">last</span>
+76: <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div id="method-M000109" class="method-detail">
+ <a name="M000109"></a>
+
+ <div class="method-heading">
+ <a href="#M000109" class="method-signature">
<span class="method-name">parse_listing</span><span class="method-args">(bucket_listing_xml)</span>
</a>
</div>
<div class="method-description">
<p>
Parse raw <a href="../XML.html">XML</a> ListBucketResponse from S3 into
object instances.
</p>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000078-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000078-source">
+ onclick="toggleCode('M000109-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000109-source">
<pre>
- <span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 47</span>
-47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_listing</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
-48: <span class="ruby-identifier">doc</span> = <span class="ruby-constant">XML</span>.<span class="ruby-identifier">get_xml_doc</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
-49:
-50: <span class="ruby-identifier">prop_setter</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">prop</span>, <span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
-51: <span class="ruby-identifier">node</span> = <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-node">"//ListBucketResult/#{path}"</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">first</span>
-52: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">"#{prop}="</span>, <span class="ruby-identifier">node</span>.<span class="ruby-identifier">content</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>
-53: <span class="ruby-keyword kw">end</span>
-54:
-55: <span class="ruby-comment cmt"># metadata</span>
-56: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:name</span>, <span class="ruby-value str">'Name'</span>)
-57: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:delimiter</span>, <span class="ruby-value str">'Delimiter'</span>)
-58: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:prefix</span>, <span class="ruby-value str">'Prefix'</span>)
-59: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:marker</span>, <span class="ruby-value str">'Marker'</span>)
-60: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:max_keys</span>, <span class="ruby-value str">'MaxKeys'</span>)
-61: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:is_truncated</span>, <span class="ruby-value str">'IsTruncated'</span>)
-62:
-63: <span class="ruby-comment cmt"># contents</span>
-64: <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'//Contents'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
-65: <span class="ruby-identifier">obj</span> = <span class="ruby-constant">S3Object</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">node</span>)
-66: <span class="ruby-comment cmt"># Add to the content listing for the bucket</span>
-67: <span class="ruby-ivar">@contents</span>[<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">obj</span>
-68: <span class="ruby-keyword kw">end</span>
-69: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 49</span>
+49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_listing</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
+50: <span class="ruby-identifier">doc</span> = <span class="ruby-constant">XML</span>.<span class="ruby-identifier">get_xml_doc</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
+51:
+52: <span class="ruby-identifier">prop_setter</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">prop</span>, <span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
+53: <span class="ruby-identifier">node</span> = <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-node">"//ListBucketResult/#{path}"</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">first</span>
+54: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">"#{prop}="</span>, <span class="ruby-identifier">node</span>.<span class="ruby-identifier">content</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node</span>
+55: <span class="ruby-keyword kw">end</span>
+56:
+57: <span class="ruby-comment cmt"># metadata</span>
+58: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:name</span>, <span class="ruby-value str">'Name'</span>)
+59: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:delimiter</span>, <span class="ruby-value str">'Delimiter'</span>)
+60: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:prefix</span>, <span class="ruby-value str">'Prefix'</span>)
+61: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:marker</span>, <span class="ruby-value str">'Marker'</span>)
+62: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:max_keys</span>, <span class="ruby-value str">'MaxKeys'</span>)
+63: <span class="ruby-identifier">prop_setter</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">:is_truncated</span>, <span class="ruby-value str">'IsTruncated'</span>)
+64:
+65: <span class="ruby-comment cmt"># contents</span>
+66: <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">find</span>(<span class="ruby-value str">'//Contents'</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
+67: <span class="ruby-identifier">obj</span> = <span class="ruby-constant">S3Object</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">node</span>)
+68: <span class="ruby-comment cmt"># Add to the content listing for the bucket</span>
+69: <span class="ruby-ivar">@contents</span>[<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">obj</span>
+70: <span class="ruby-keyword kw">end</span>
+71: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
</div>
- <div id="method-M000080" class="method-detail">
- <a name="M000080"></a>
+ <div id="method-M000112" class="method-detail">
+ <a name="M000112"></a>
<div class="method-heading">
- <a href="#M000080" class="method-signature">
+ <a href="#M000112" class="method-signature">
<span class="method-name">pretty</span><span class="method-args">()</span>
</a>
</div>
<div class="method-description">
<p>
Pretty listing of keys in alphabetical order.
</p>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000080-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000080-source">
+ onclick="toggleCode('M000112-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000112-source">
<pre>
- <span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 77</span>
-77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pretty</span>
-78: <span class="ruby-ivar">@contents</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">puts</span> <span class="ruby-identifier">k</span> }
-79: <span class="ruby-keyword kw">end</span>
+ <span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 84</span>
+84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pretty</span>
+85: <span class="ruby-ivar">@contents</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">puts</span> <span class="ruby-identifier">k</span> }
+86: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
</div>
- <div id="method-M000077" class="method-detail">
- <a name="M000077"></a>
+ <div id="method-M000108" class="method-detail">
+ <a name="M000108"></a>
<div class="method-heading">
- <a href="#M000077" class="method-signature">
+ <a href="#M000108" class="method-signature">
<span class="method-name">set_listing_xml</span><span class="method-args">(bucket_listing_xml)</span>
</a>
</div>
<div class="method-description">
<p>
Convert a ListBucketResult <a href="../XML.html">XML</a> document into an
object representation.
</p>
<p><a class="source-toggle" href="#"
- onclick="toggleCode('M000077-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000077-source">
+ onclick="toggleCode('M000108-source');return false;">[Source]</a></p>
+ <div class="method-source-code" id="M000108-source">
<pre>
<span class="ruby-comment cmt"># File lib/s33r/bucket_listing.rb, line 36</span>
36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_listing_xml</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
-37: <span class="ruby-comment cmt"># remove the namespace declaration: libxml doesn't like it</span>
-38: <span class="ruby-identifier">bucket_listing_xml</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/ xmlns="http:\/\/s3.amazonaws.com\/doc\/2006-03-01\/"/</span>, <span class="ruby-value str">''</span>)
-39: <span class="ruby-identifier">parse_listing</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
-40: <span class="ruby-keyword kw">rescue</span>
-41: <span class="ruby-identifier">message</span> = <span class="ruby-value str">"Cannot create bucket listing from supplied XML"</span>
-42: <span class="ruby-identifier">message</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">" (was nil)"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bucket_listing_xml</span>.<span class="ruby-identifier">nil?</span>
-43: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidBucketListing</span>, <span class="ruby-identifier">message</span>
-44: <span class="ruby-keyword kw">end</span>
+37: <span class="ruby-keyword kw">begin</span>
+38: <span class="ruby-comment cmt"># remove the namespace declaration: libxml doesn't like it</span>
+39: <span class="ruby-identifier">bucket_listing_xml</span> = <span class="ruby-constant">S33r</span>.<span class="ruby-identifier">remove_namespace</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
+40: <span class="ruby-identifier">parse_listing</span>(<span class="ruby-identifier">bucket_listing_xml</span>)
+41: <span class="ruby-keyword kw">rescue</span>
+42: <span class="ruby-identifier">message</span> = <span class="ruby-value str">"Cannot create bucket listing from supplied XML"</span>
+43: <span class="ruby-identifier">message</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">" (was nil)"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bucket_listing_xml</span>.<span class="ruby-identifier">nil?</span>
+44: <span class="ruby-identifier">raise</span> <span class="ruby-constant">S33rException</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidBucketListing</span>, <span class="ruby-identifier">message</span>
+45: <span class="ruby-keyword kw">end</span>
+46: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
</div>
\ No newline at end of file