doc/Dynamoid/Criteria/Chain.html in dynamoid-0.6.1 vs doc/Dynamoid/Criteria/Chain.html in dynamoid-0.7.0

- old
+ new

@@ -4,60 +4,67 @@ <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> Class: Dynamoid::Criteria::Chain - &mdash; Documentation by YARD 0.7.5 + &mdash; Documentation by YARD 0.8.6.1 </title> - <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" /> + <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" /> - <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" /> + <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" /> <script type="text/javascript" charset="utf-8"> - relpath = '../..'; - if (relpath != '') relpath += '/'; + hasFrames = window.top.frames.main ? true : false; + relpath = '../../'; + framesUrl = "../../frames.html#!" + escape(window.location.href); </script> + <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script> <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script> </head> <body> - <script type="text/javascript" charset="utf-8"> - if (window.top.frames.main) document.body.className = 'frames'; - </script> - <div id="header"> <div id="menu"> - <a href="../../_index.html">Index (C)</a> &raquo; + <a href="../../_index.html">Index (C)</a> &raquo; <span class='title'><span class='object_link'><a href="../../Dynamoid.html" title="Dynamoid (module)">Dynamoid</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Criteria.html" title="Dynamoid::Criteria (module)">Criteria</a></span></span> &raquo; <span class="title">Chain</span> - + <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div> </div> <div id="search"> - <a id="class_list_link" href="#">Class List</a> + <a class="full_list_link" id="class_list_link" + href="../../class_list.html"> + Class List + </a> - <a id="method_list_link" href="#">Method List</a> + <a class="full_list_link" id="method_list_link" + href="../../method_list.html"> + Method List + </a> - <a id="file_list_link" href="#">File List</a> + <a class="full_list_link" id="file_list_link" + href="../../file_list.html"> + File List + </a> </div> <div class="clear"></div> </div> - + <iframe id="search_frame"></iframe> - + <div id="content"><h1>Class: Dynamoid::Criteria::Chain </h1> @@ -123,10 +130,11 @@ </span> + @@ -141,17 +149,46 @@ <li class="public "> <span class="summary_signature"> + <a href="#index%3D-instance_method" title="#index= (instance method)">- (Object) <strong>index</strong> </a> + + + + </span> + + + + + + <span class="note title writeonly">writeonly</span> + + + + + + + + + <span class="summary_desc"><div class='inline'><p>Sets the attribute index.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + <a href="#limit-instance_method" title="#limit (instance method)">- (Object) <strong>limit</strong>(limit) </a> </span> + @@ -173,10 +210,11 @@ </span> + @@ -198,10 +236,11 @@ </span> + @@ -223,10 +262,11 @@ </span> + @@ -248,10 +288,11 @@ </span> + @@ -279,21 +320,22 @@ <ul class="summary"> <li class="public "> <span class="summary_signature"> - <a href="#all-instance_method" title="#all (instance method)">- (Object) <strong>all</strong> </a> + <a href="#all-instance_method" title="#all (instance method)">- (Object) <strong>all</strong>(opts = {}) </a> </span> + <span class="summary_desc"><div class='inline'><p>Returns all the records matching the criteria.</p> </div></span> @@ -301,10 +343,32 @@ <li class="public "> <span class="summary_signature"> + <a href="#batch-instance_method" title="#batch (instance method)">- (Object) <strong>batch</strong>(batch_size) </a> + + + + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'></div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + <a href="#consistent-instance_method" title="#consistent (instance method)">- (Object) <strong>consistent</strong> </a> </span> @@ -312,10 +376,11 @@ + <span class="summary_desc"><div class='inline'></div></span> </li> @@ -333,20 +398,44 @@ + <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> + <a href="#destroy_all-instance_method" title="#destroy_all (instance method)">- (Object) <strong>destroy_all</strong> </a> + + + + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'><p>Destroys all the records matching the criteria.</p> +</div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + <a href="#each-instance_method" title="#each (instance method)">- (Object) <strong>each</strong>(&amp;block) </a> </span> @@ -354,10 +443,11 @@ + <span class="summary_desc"><div class='inline'><p>Allows you to use the results of a search as an enumerable over the results found.</p> </div></span> @@ -376,10 +466,11 @@ + <span class="summary_desc"><div class='inline'><p>Returns the first record matching the criteria.</p> </div></span> @@ -393,10 +484,11 @@ </span> + <span class="note title constructor">constructor</span> @@ -411,10 +503,32 @@ <li class="public "> <span class="summary_signature"> + <a href="#scan_index_forward-instance_method" title="#scan_index_forward (instance method)">- (Object) <strong>scan_index_forward</strong>(scan_index_forward) </a> + + + + </span> + + + + + + + + + + <span class="summary_desc"><div class='inline'></div></span> + +</li> + + + <li class="public "> + <span class="summary_signature"> + <a href="#where-instance_method" title="#where (instance method)">- (Object) <strong>where</strong>(args) </a> </span> @@ -422,10 +536,11 @@ + <span class="summary_desc"><div class='inline'><p>The workhorse method of the criteria chain.</p> </div></span> @@ -438,25 +553,27 @@ <div id="constructor_details" class="method_details_list"> <h2>Constructor Details</h2> <div class="method_details first"> - <p class="signature first" id="initialize-instance_method"> + <h3 class="signature first" id="initialize-instance_method"> - (<tt><span class='object_link'><a href="" title="Dynamoid::Criteria::Chain (class)">Chain</a></span></tt>) <strong>initialize</strong>(source) -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Create a new criteria chain.</p> </div> </div> <div class="tags"> - <h3>Parameters:</h3> + <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>source</span> @@ -483,19 +600,21 @@ 15 16 17 18 -19</pre> +19 +20</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 15</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_source'>source</span><span class='rparen'>)</span> <span class='ivar'>@query</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='ivar'>@source</span> <span class='op'>=</span> <span class='id identifier rubyid_source'>source</span> <span class='ivar'>@consistent_read</span> <span class='op'>=</span> <span class='kw'>false</span> + <span class='ivar'>@scan_index_forward</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> @@ -505,19 +624,20 @@ <div id="instance_attr_details" class="attr_details"> <h2>Instance Attribute Details</h2> <span id="consistent_read=-instance_method"></span> - <span id="consistent_read-instance_method"></span> <div class="method_details first"> - <p class="signature first" id="consistent_read-instance_method"> + <h3 class="signature first" id="consistent_read-instance_method"> - (<tt>Object</tt>) <strong>consistent_read</strong> -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute consistent_read</p> </div> @@ -545,20 +665,82 @@ </tr> </table> </div> + <span id="index-instance_method"></span> + <div class="method_details "> + <h3 class="signature " id="index=-instance_method"> + + - (<tt>Object</tt>) <strong>index=</strong>(value) + + + + + +</h3><div class="docstring"> + <div class="discussion"> + <p>Sets the attribute index</p> + + + </div> +</div> +<div class="tags"> + <p class="tag_title">Parameters:</p> +<ul class="param"> + + <li> + + <span class='name'>value</span> + + + <span class='type'></span> + + + + &mdash; + <div class='inline'><p>the value to set the attribute index to.</p> +</div> + + </li> + +</ul> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +9 +10 +11</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 9</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_index='>index=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> + <span class='ivar'>@index</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <span id="limit=-instance_method"></span> - <span id="limit-instance_method"></span> <div class="method_details "> - <p class="signature " id="limit-instance_method"> + <h3 class="signature " id="limit-instance_method"> - (<tt>Object</tt>) <strong>limit</strong>(limit) -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute limit</p> </div> @@ -572,36 +754,35 @@ <pre class="lines"> 9 10 -11 -12</pre> +11</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 9</span> -<span class='kw'>def</span> <span class='id identifier rubyid_limit'>limit</span><span class='lparen'>(</span><span class='id identifier rubyid_limit'>limit</span><span class='rparen'>)</span> - <span class='ivar'>@limit</span> <span class='op'>=</span> <span class='id identifier rubyid_limit'>limit</span> - <span class='id identifier rubyid_records'>records</span> +<span class='kw'>def</span> <span class='id identifier rubyid_limit'>limit</span> + <span class='ivar'>@limit</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="query=-instance_method"></span> - <span id="query-instance_method"></span> <div class="method_details "> - <p class="signature " id="query-instance_method"> + <h3 class="signature " id="query-instance_method"> - (<tt>Object</tt>) <strong>query</strong> -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute query</p> </div> @@ -630,19 +811,20 @@ </table> </div> <span id="source=-instance_method"></span> - <span id="source-instance_method"></span> <div class="method_details "> - <p class="signature " id="source-instance_method"> + <h3 class="signature " id="source-instance_method"> - (<tt>Object</tt>) <strong>source</strong> -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute source</p> </div> @@ -671,19 +853,20 @@ </table> </div> <span id="start=-instance_method"></span> - <span id="start-instance_method"></span> <div class="method_details "> - <p class="signature " id="start-instance_method"> + <h3 class="signature " id="start-instance_method"> - (<tt>Object</tt>) <strong>start</strong>(start) -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute start</p> </div> @@ -697,36 +880,35 @@ <pre class="lines"> 9 10 -11 -12</pre> +11</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 9</span> -<span class='kw'>def</span> <span class='id identifier rubyid_start'>start</span><span class='lparen'>(</span><span class='id identifier rubyid_start'>start</span><span class='rparen'>)</span> - <span class='ivar'>@start</span> <span class='op'>=</span> <span class='id identifier rubyid_start'>start</span> - <span class='kw'>self</span> +<span class='kw'>def</span> <span class='id identifier rubyid_start'>start</span> + <span class='ivar'>@start</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="values=-instance_method"></span> - <span id="values-instance_method"></span> <div class="method_details "> - <p class="signature " id="values-instance_method"> + <h3 class="signature " id="values-instance_method"> - (<tt>Object</tt>) <strong>values</strong> -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute values</p> </div> @@ -758,29 +940,31 @@ </div> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> + - <div class="method_details first"> - <p class="signature first" id="all-instance_method"> + <h3 class="signature first" id="all-instance_method"> - - (<tt>Object</tt>) <strong>all</strong> + - (<tt>Object</tt>) <strong>all</strong>(opts = {}) -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Returns all the records matching the criteria.</p> </div> </div> <div class="tags"> -<h3>Since:</h3> +<p class="tag_title">Since:</p> <ul class="since"> <li> @@ -798,45 +982,83 @@ <tr> <td> <pre class="lines"> -45 46 -47</pre> +47 +48 +49</pre> </td> <td> - <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 45</span> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 46</span> -<span class='kw'>def</span> <span class='id identifier rubyid_all'>all</span> +<span class='kw'>def</span> <span class='id identifier rubyid_all'>all</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> + <span class='id identifier rubyid_batch'>batch</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:batch_size</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span> <span class='symbol'>:batch_size</span> <span class='id identifier rubyid_records'>records</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> - <p class="signature " id="consistent-instance_method"> + <h3 class="signature " id="batch-instance_method"> + - (<tt>Object</tt>) <strong>batch</strong>(batch_size) + + + + + +</h3><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +120 +121 +122 +123 +124</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 120</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_batch'>batch</span><span class='lparen'>(</span><span class='id identifier rubyid_batch_size'>batch_size</span><span class='rparen'>)</span> + <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Cannot batch calls when using partitioning</span><span class='tstring_end'>'</span></span> <span class='kw'>if</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_partitioning?'>partitioning?</span> + <span class='ivar'>@batch_size</span> <span class='op'>=</span> <span class='id identifier rubyid_batch_size'>batch_size</span> + <span class='kw'>self</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="consistent-instance_method"> + - (<tt>Object</tt>) <strong>consistent</strong> -</p><table class="source_code"> + + +</h3><table class="source_code"> <tr> <td> <pre class="lines"> -37 38 39 -40</pre> +40 +41</pre> </td> <td> - <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 37</span> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 38</span> <span class='kw'>def</span> <span class='id identifier rubyid_consistent'>consistent</span> <span class='ivar'>@consistent_read</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> @@ -844,54 +1066,200 @@ </tr> </table> </div> <div class="method_details "> - <p class="signature " id="consistent_opts-instance_method"> + <h3 class="signature " id="consistent_opts-instance_method"> - (<tt>Object</tt>) <strong>consistent_opts</strong> -</p><table class="source_code"> + + +</h3><table class="source_code"> <tr> <td> <pre class="lines"> -73 -74 -75</pre> +143 +144 +145</pre> </td> <td> - <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 73</span> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 143</span> <span class='kw'>def</span> <span class='id identifier rubyid_consistent_opts'>consistent_opts</span> <span class='lbrace'>{</span> <span class='symbol'>:consistent_read</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_consistent_read'>consistent_read</span> <span class='rbrace'>}</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> - <p class="signature " id="each-instance_method"> + <h3 class="signature " id="destroy_all-instance_method"> + - (<tt>Object</tt>) <strong>destroy_all</strong> + + + + + +</h3><div class="docstring"> + <div class="discussion"> + <p>Destroys all the records matching the criteria.</p> + + + </div> +</div> +<div class="tags"> + + +</div><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 53</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_destroy_all'>destroy_all</span> + <span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> + + <span class='kw'>if</span> <span class='id identifier rubyid_range?'>range?</span> + <span class='id identifier rubyid_ranges'>ranges</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> + <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span><span class='lparen'>(</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_range_query'>range_query</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span> + <span class='id identifier rubyid_ids'>ids</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> + <span class='id identifier rubyid_ranges'>ranges</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_range_key'>range_key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> + <span class='kw'>end</span> + + <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='comma'>,</span><span class='lbrace'>{</span><span class='symbol'>:range_key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_ranges'>ranges</span><span class='rbrace'>}</span><span class='rparen'>)</span> + <span class='kw'>elsif</span> <span class='id identifier rubyid_index'>index</span> + <span class='comment'>#TODO: test this throughly and find a way to delete all index table records for one source record +</span> <span class='kw'>if</span> <span class='id identifier rubyid_index'>index</span><span class='period'>.</span><span class='id identifier rubyid_range_key?'>range_key?</span> + <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_index_query'>index_query</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_consistent_opts'>consistent_opts</span><span class='rparen'>)</span><span class='rparen'>)</span> + <span class='kw'>else</span> + <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_index_query'>index_query</span><span class='lbracket'>[</span><span class='symbol'>:hash_value</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_consistent_opts'>consistent_opts</span><span class='rparen'>)</span> + <span class='kw'>end</span> + + <span class='id identifier rubyid_results'>results</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span> + <span class='id identifier rubyid_ids'>ids</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> + <span class='id identifier rubyid_index_ranges'>index_ranges</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_range_key'>range_key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> + <span class='kw'>end</span> + + <span class='kw'>unless</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> + <span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span> + + <span class='kw'>if</span> <span class='ivar'>@start</span> + <span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_drop_while'>drop_while</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_id'>id</span><span class='op'>|</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>!=</span> <span class='ivar'>@start</span><span class='period'>.</span><span class='id identifier rubyid_hash_key'>hash_key</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_drop'>drop</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span> + <span class='id identifier rubyid_index_ranges'>index_ranges</span> <span class='op'>=</span> <span class='id identifier rubyid_index_ranges'>index_ranges</span><span class='period'>.</span><span class='id identifier rubyid_drop_while'>drop_while</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_range'>range</span><span class='op'>|</span> <span class='id identifier rubyid_range'>range</span> <span class='op'>!=</span> <span class='ivar'>@start</span><span class='period'>.</span><span class='id identifier rubyid_hash_key'>hash_key</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_drop'>drop</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_index_ranges'>index_ranges</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> + <span class='kw'>end</span> + + <span class='kw'>if</span> <span class='ivar'>@limit</span> + <span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_take'>take</span><span class='lparen'>(</span><span class='ivar'>@limit</span><span class='rparen'>)</span> + <span class='id identifier rubyid_index_ranges'>index_ranges</span> <span class='op'>=</span> <span class='id identifier rubyid_index_ranges'>index_ranges</span><span class='period'>.</span><span class='id identifier rubyid_take'>take</span><span class='lparen'>(</span><span class='ivar'>@limit</span><span class='rparen'>)</span> + <span class='kw'>end</span> + + <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span> + + <span class='kw'>if</span> <span class='id identifier rubyid_index'>index</span><span class='period'>.</span><span class='id identifier rubyid_range_key?'>range_key?</span> + <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='comma'>,</span><span class='lbrace'>{</span><span class='symbol'>:range_key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_index_ranges'>index_ranges</span><span class='rbrace'>}</span><span class='rparen'>)</span> + <span class='kw'>else</span> + <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span> + <span class='kw'>end</span> + + <span class='kw'>end</span> + <span class='kw'>else</span> + <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='id identifier rubyid_scan_opts'>scan_opts</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span> + <span class='id identifier rubyid_ids'>ids</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> + <span class='kw'>end</span> + + <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span> + <span class='kw'>end</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="each-instance_method"> + - (<tt>Object</tt>) <strong>each</strong>(&amp;block) -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Allows you to use the results of a search as an enumerable over the results found.</p> </div> </div> <div class="tags"> -<h3>Since:</h3> +<p class="tag_title">Since:</p> <ul class="since"> <li> @@ -909,42 +1277,44 @@ <tr> <td> <pre class="lines"> -69 -70 -71</pre> +139 +140 +141</pre> </td> <td> - <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 69</span> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 139</span> <span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='id identifier rubyid_records'>records</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> - <p class="signature " id="first-instance_method"> + <h3 class="signature " id="first-instance_method"> - (<tt>Object</tt>) <strong>first</strong> -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>Returns the first record matching the criteria.</p> </div> </div> <div class="tags"> -<h3>Since:</h3> +<p class="tag_title">Since:</p> <ul class="since"> <li> @@ -962,33 +1332,67 @@ <tr> <td> <pre class="lines"> -52 -53 -54</pre> +111 +112 +113</pre> </td> <td> - <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 52</span> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 111</span> <span class='kw'>def</span> <span class='id identifier rubyid_first'>first</span> <span class='id identifier rubyid_limit'>limit</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> - <p class="signature " id="where-instance_method"> + <h3 class="signature " id="scan_index_forward-instance_method"> + - (<tt>Object</tt>) <strong>scan_index_forward</strong>(scan_index_forward) + + + + + +</h3><table class="source_code"> + <tr> + <td> + <pre class="lines"> + + +131 +132 +133 +134</pre> + </td> + <td> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 131</span> + +<span class='kw'>def</span> <span class='id identifier rubyid_scan_index_forward'>scan_index_forward</span><span class='lparen'>(</span><span class='id identifier rubyid_scan_index_forward'>scan_index_forward</span><span class='rparen'>)</span> + <span class='ivar'>@scan_index_forward</span> <span class='op'>=</span> <span class='id identifier rubyid_scan_index_forward'>scan_index_forward</span> + <span class='kw'>self</span> +<span class='kw'>end</span></pre> + </td> + </tr> +</table> +</div> + + <div class="method_details "> + <h3 class="signature " id="where-instance_method"> + - (<tt>Object</tt>) <strong>where</strong>(args) -</p><div class="docstring"> + + +</h3><div class="docstring"> <div class="discussion"> <p>The workhorse method of the criteria chain. Each key in the passed in hash will become another criteria that the ultimate query must match. A key can either be a symbol or a string, and should be an attribute name or an attribute name with a range operator.</p> @@ -996,23 +1400,27 @@ </div> </div> <div class="tags"> <div class="examples"> - <h3>Examples:</h3> + <p class="tag_title">Examples:</p> - <h4><div class='inline'><p>A simple criteria</p> -</div></h4> - <pre class="example code"><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Josh</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre> + + <p class="example_title"><div class='inline'><p>A simple criteria</p> +</div></p> + + <pre class="example code"><code><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Josh</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></code></pre> - <h4><div class='inline'><p>A more complicated criteria</p> -</div></h4> - <pre class="example code"><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Josh</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>created_at.gt</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span> <span class='op'>-</span> <span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_day'>day</span><span class='rparen'>)</span></pre> + + <p class="example_title"><div class='inline'><p>A more complicated criteria</p> +</div></p> + + <pre class="example code"><code><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Josh</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>created_at.gt</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span> <span class='op'>-</span> <span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_day'>day</span><span class='rparen'>)</span></code></pre> </div> -<h3>Since:</h3> +<p class="tag_title">Since:</p> <ul class="since"> <li> @@ -1030,34 +1438,34 @@ <tr> <td> <pre class="lines"> -32 33 34 -35</pre> +35 +36</pre> </td> <td> - <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 32</span> + <pre class="code"><span class="info file"># File 'lib/dynamoid/criteria/chain.rb', line 33</span> <span class='kw'>def</span> <span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> - <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_query'>query</span><span class='lbracket'>[</span><span class='id identifier rubyid_k'>k</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_v'>v</span><span class='rbrace'>}</span> + <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_query'>query</span><span class='lbracket'>[</span><span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_v'>v</span><span class='rbrace'>}</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> - + <div id="footer"> - Generated on Thu Apr 26 01:26:25 2012 by + Generated on Thu Jun 27 21:59:14 2013 by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> - 0.7.5 (ruby-1.9.3). + 0.8.6.1 (ruby-1.9.3). </div> </body> </html> \ No newline at end of file