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
- — Documentation by YARD 0.7.5
+ — 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> »
+ <a href="../../_index.html">Index (C)</a> »
<span class='title'><span class='object_link'><a href="../../Dynamoid.html" title="Dynamoid (module)">Dynamoid</a></span></span> » <span class='title'><span class='object_link'><a href="../Criteria.html" title="Dynamoid::Criteria (module)">Criteria</a></span></span>
»
<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>(&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>
+
+
+
+ —
+ <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'>=></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'><<</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'><<</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'>=></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'><<</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'><<</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'>=></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'><<</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>(&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'>&</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'>&</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'>=></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'>=></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'>=></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'>=></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'>=></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'>=></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