dynamoid 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. data/.travis.yml +4 -0
  2. data/Gemfile +3 -2
  3. data/Gemfile.lock +40 -45
  4. data/README.markdown +55 -25
  5. data/Rakefile +31 -0
  6. data/VERSION +1 -1
  7. data/doc/Dynamoid.html +58 -42
  8. data/doc/Dynamoid/Adapter.html +666 -179
  9. data/doc/Dynamoid/Adapter/AwsSdk.html +752 -236
  10. data/doc/Dynamoid/Associations.html +28 -21
  11. data/doc/Dynamoid/Associations/Association.html +102 -49
  12. data/doc/Dynamoid/Associations/BelongsTo.html +28 -25
  13. data/doc/Dynamoid/Associations/ClassMethods.html +95 -52
  14. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +28 -25
  15. data/doc/Dynamoid/Associations/HasMany.html +28 -25
  16. data/doc/Dynamoid/Associations/HasOne.html +28 -25
  17. data/doc/Dynamoid/Associations/ManyAssociation.html +138 -94
  18. data/doc/Dynamoid/Associations/SingleAssociation.html +67 -38
  19. data/doc/Dynamoid/Components.html +60 -22
  20. data/doc/Dynamoid/Config.html +61 -44
  21. data/doc/Dynamoid/Config/Options.html +90 -61
  22. data/doc/Dynamoid/Criteria.html +28 -21
  23. data/doc/Dynamoid/Criteria/Chain.html +508 -100
  24. data/doc/Dynamoid/Criteria/ClassMethods.html +26 -19
  25. data/doc/Dynamoid/Dirty.html +424 -0
  26. data/doc/Dynamoid/Dirty/ClassMethods.html +174 -0
  27. data/doc/Dynamoid/Document.html +451 -84
  28. data/doc/Dynamoid/Document/ClassMethods.html +281 -102
  29. data/doc/Dynamoid/Errors.html +29 -22
  30. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +141 -0
  31. data/doc/Dynamoid/Errors/DocumentNotValid.html +36 -25
  32. data/doc/Dynamoid/Errors/Error.html +27 -20
  33. data/doc/Dynamoid/Errors/InvalidField.html +27 -19
  34. data/doc/Dynamoid/Errors/InvalidQuery.html +131 -0
  35. data/doc/Dynamoid/Errors/MissingRangeKey.html +27 -19
  36. data/doc/Dynamoid/Fields.html +94 -77
  37. data/doc/Dynamoid/Fields/ClassMethods.html +166 -37
  38. data/doc/Dynamoid/Finders.html +28 -21
  39. data/doc/Dynamoid/Finders/ClassMethods.html +505 -78
  40. data/doc/Dynamoid/IdentityMap.html +492 -0
  41. data/doc/Dynamoid/IdentityMap/ClassMethods.html +534 -0
  42. data/doc/Dynamoid/Indexes.html +41 -28
  43. data/doc/Dynamoid/Indexes/ClassMethods.html +45 -29
  44. data/doc/Dynamoid/Indexes/Index.html +100 -62
  45. data/doc/Dynamoid/Middleware.html +115 -0
  46. data/doc/Dynamoid/Middleware/IdentityMap.html +264 -0
  47. data/doc/Dynamoid/Persistence.html +326 -85
  48. data/doc/Dynamoid/Persistence/ClassMethods.html +275 -109
  49. data/doc/Dynamoid/Validations.html +47 -31
  50. data/doc/_index.html +116 -71
  51. data/doc/class_list.html +13 -7
  52. data/doc/css/full_list.css +4 -2
  53. data/doc/css/style.css +60 -44
  54. data/doc/file.LICENSE.html +26 -19
  55. data/doc/file.README.html +152 -48
  56. data/doc/file_list.html +14 -8
  57. data/doc/frames.html +20 -5
  58. data/doc/index.html +152 -48
  59. data/doc/js/app.js +52 -43
  60. data/doc/js/full_list.js +14 -9
  61. data/doc/js/jquery.js +4 -16
  62. data/doc/method_list.html +446 -540
  63. data/doc/top-level-namespace.html +27 -20
  64. data/{Dynamoid.gemspec → dynamoid.gemspec} +21 -8
  65. data/lib/dynamoid/adapter.rb +11 -10
  66. data/lib/dynamoid/adapter/aws_sdk.rb +40 -19
  67. data/lib/dynamoid/components.rb +2 -1
  68. data/lib/dynamoid/criteria/chain.rb +29 -11
  69. data/lib/dynamoid/dirty.rb +6 -0
  70. data/lib/dynamoid/document.rb +34 -19
  71. data/lib/dynamoid/fields.rb +36 -30
  72. data/lib/dynamoid/finders.rb +7 -5
  73. data/lib/dynamoid/persistence.rb +37 -10
  74. data/spec/app/models/address.rb +2 -0
  75. data/spec/app/models/camel_case.rb +10 -0
  76. data/spec/app/models/car.rb +6 -0
  77. data/spec/app/models/nuclear_submarine.rb +5 -0
  78. data/spec/app/models/subscription.rb +2 -2
  79. data/spec/app/models/vehicle.rb +7 -0
  80. data/spec/dynamoid/adapter/aws_sdk_spec.rb +20 -11
  81. data/spec/dynamoid/adapter_spec.rb +67 -82
  82. data/spec/dynamoid/associations/association_spec.rb +30 -30
  83. data/spec/dynamoid/criteria/chain_spec.rb +56 -9
  84. data/spec/dynamoid/criteria_spec.rb +3 -0
  85. data/spec/dynamoid/dirty_spec.rb +8 -0
  86. data/spec/dynamoid/document_spec.rb +109 -47
  87. data/spec/dynamoid/fields_spec.rb +32 -3
  88. data/spec/dynamoid/finders_spec.rb +12 -0
  89. data/spec/dynamoid/persistence_spec.rb +73 -8
  90. data/spec/spec_helper.rb +1 -0
  91. data/spec/support/with_partitioning.rb +15 -0
  92. metadata +22 -9
@@ -6,19 +6,21 @@
6
6
  <title>
7
7
  Module: Dynamoid::Fields::ClassMethods
8
8
 
9
- &mdash; Documentation by YARD 0.7.5
9
+ &mdash; Documentation by YARD 0.8.6.1
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
14
 
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- relpath = '../..';
19
- if (relpath != '') relpath += '/';
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../../';
20
+ framesUrl = "../../frames.html#!" + escape(window.location.href);
20
21
  </script>
21
22
 
23
+
22
24
  <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
23
25
 
24
26
  <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
@@ -26,36 +28,41 @@
26
28
 
27
29
  </head>
28
30
  <body>
29
- <script type="text/javascript" charset="utf-8">
30
- if (window.top.frames.main) document.body.className = 'frames';
31
- </script>
32
-
33
31
  <div id="header">
34
32
  <div id="menu">
35
33
 
36
- <a href="../../_index.html">Index (C)</a> &raquo;
34
+ <a href="../../_index.html">Index (C)</a> &raquo;
37
35
  <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="../Fields.html" title="Dynamoid::Fields (module)">Fields</a></span></span>
38
36
  &raquo;
39
37
  <span class="title">ClassMethods</span>
40
38
 
41
-
39
+
42
40
  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
41
  </div>
44
42
 
45
43
  <div id="search">
46
44
 
47
- <a id="class_list_link" href="#">Class List</a>
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../../class_list.html">
47
+ Class List
48
+ </a>
48
49
 
49
- <a id="method_list_link" href="#">Method List</a>
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../../method_list.html">
52
+ Method List
53
+ </a>
50
54
 
51
- <a id="file_list_link" href="#">File List</a>
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../../file_list.html">
57
+ File List
58
+ </a>
52
59
 
53
60
  </div>
54
61
  <div class="clear"></div>
55
62
  </div>
56
-
63
+
57
64
  <iframe id="search_frame"></iframe>
58
-
65
+
59
66
  <div id="content"><h1>Module: Dynamoid::Fields::ClassMethods
60
67
 
61
68
 
@@ -106,6 +113,7 @@
106
113
 
107
114
 
108
115
 
116
+
109
117
 
110
118
 
111
119
  <span class="summary_desc"><div class='inline'><p>Specify a field for a document.</p>
@@ -128,6 +136,51 @@
128
136
 
129
137
 
130
138
 
139
+
140
+
141
+
142
+ <span class="summary_desc"><div class='inline'></div></span>
143
+
144
+ </li>
145
+
146
+
147
+ <li class="public ">
148
+ <span class="summary_signature">
149
+
150
+ <a href="#remove_field-instance_method" title="#remove_field (instance method)">- (Object) <strong>remove_field</strong>(field) </a>
151
+
152
+
153
+
154
+ </span>
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+ <span class="summary_desc"><div class='inline'></div></span>
165
+
166
+ </li>
167
+
168
+
169
+ <li class="public ">
170
+ <span class="summary_signature">
171
+
172
+ <a href="#table-instance_method" title="#table (instance method)">- (Object) <strong>table</strong>(options) </a>
173
+
174
+
175
+
176
+ </span>
177
+
178
+
179
+
180
+
181
+
182
+
183
+
131
184
 
132
185
 
133
186
  <span class="summary_desc"><div class='inline'></div></span>
@@ -142,25 +195,27 @@
142
195
 
143
196
  <div id="instance_method_details" class="method_details_list">
144
197
  <h2>Instance Method Details</h2>
145
-
198
+
146
199
 
147
200
  <div class="method_details first">
148
- <p class="signature first" id="field-instance_method">
201
+ <h3 class="signature first" id="field-instance_method">
149
202
 
150
203
  - (<tt>Object</tt>) <strong>field</strong>(name, type = :string, options = {})
151
204
 
152
205
 
153
206
 
154
- </p><div class="docstring">
207
+
208
+
209
+ </h3><div class="docstring">
155
210
  <div class="discussion">
156
- <p>Specify a field for a document. Its type determines how it is coerced when read in and out of the datastore:
211
+ <p>Specify a field for a document. Its type determines how it is coerced when read in and out of the datastore:
157
212
  default is string, but you can also specify :integer, :float, :set, :array, :datetime, and :serialized.</p>
158
213
 
159
214
 
160
215
  </div>
161
216
  </div>
162
217
  <div class="tags">
163
- <h3>Parameters:</h3>
218
+ <p class="tag_title">Parameters:</p>
164
219
  <ul class="param">
165
220
 
166
221
  <li>
@@ -214,7 +269,7 @@ default is string, but you can also specify :integer, :float, :set, :array, :dat
214
269
 
215
270
  </ul>
216
271
 
217
- <h3>Since:</h3>
272
+ <p class="tag_title">Since:</p>
218
273
  <ul class="since">
219
274
 
220
275
  <li>
@@ -236,7 +291,6 @@ default is string, but you can also specify :integer, :float, :set, :array, :dat
236
291
  <pre class="lines">
237
292
 
238
293
 
239
- 30
240
294
  31
241
295
  32
242
296
  33
@@ -244,21 +298,18 @@ default is string, but you can also specify :integer, :float, :set, :array, :dat
244
298
  35
245
299
  36
246
300
  37
247
- 38
248
- 39</pre>
301
+ 38</pre>
249
302
  </td>
250
303
  <td>
251
- <pre class="code"><span class="info file"># File 'lib/dynamoid/fields.rb', line 30</span>
304
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/fields.rb', line 31</span>
252
305
 
253
306
  <span class='kw'>def</span> <span class='id identifier rubyid_field'>field</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:string</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
254
307
  <span class='id identifier rubyid_named'>named</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
255
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='symbol'>:type</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
308
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=&gt;</span> <span class='lbrace'>{</span><span class='symbol'>:type</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
256
309
 
257
310
  <span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='id identifier rubyid_named'>named</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_read_attribute'>read_attribute</span><span class='lparen'>(</span><span class='id identifier rubyid_named'>named</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
258
311
  <span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_named'>named</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>!</span><span class='id identifier rubyid_read_attribute'>read_attribute</span><span class='lparen'>(</span><span class='id identifier rubyid_named'>named</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
259
312
  <span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_named'>named</span><span class='rbrace'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_value'>value</span><span class='op'>|</span> <span class='id identifier rubyid_write_attribute'>write_attribute</span><span class='lparen'>(</span><span class='id identifier rubyid_named'>named</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
260
-
261
- <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:define_attribute_method</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_define_attribute_method'>define_attribute_method</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_define_attribute_methods'>define_attribute_methods</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='rparen'>)</span>
262
313
  <span class='kw'>end</span></pre>
263
314
  </td>
264
315
  </tr>
@@ -266,25 +317,27 @@ default is string, but you can also specify :integer, :float, :set, :array, :dat
266
317
  </div>
267
318
 
268
319
  <div class="method_details ">
269
- <p class="signature " id="range-instance_method">
320
+ <h3 class="signature " id="range-instance_method">
270
321
 
271
322
  - (<tt>Object</tt>) <strong>range</strong>(name, type = :string)
272
323
 
273
324
 
274
325
 
275
- </p><table class="source_code">
326
+
327
+
328
+ </h3><table class="source_code">
276
329
  <tr>
277
330
  <td>
278
331
  <pre class="lines">
279
332
 
280
333
 
334
+ 40
281
335
  41
282
336
  42
283
- 43
284
- 44</pre>
337
+ 43</pre>
285
338
  </td>
286
339
  <td>
287
- <pre class="code"><span class="info file"># File 'lib/dynamoid/fields.rb', line 41</span>
340
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/fields.rb', line 40</span>
288
341
 
289
342
  <span class='kw'>def</span> <span class='id identifier rubyid_range'>range</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:string</span><span class='rparen'>)</span>
290
343
  <span class='id identifier rubyid_field'>field</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
@@ -295,14 +348,90 @@ default is string, but you can also specify :integer, :float, :set, :array, :dat
295
348
  </table>
296
349
  </div>
297
350
 
298
- </div>
351
+ <div class="method_details ">
352
+ <h3 class="signature " id="remove_field-instance_method">
353
+
354
+ - (<tt>Object</tt>) <strong>remove_field</strong>(field)
355
+
356
+
357
+
358
+
359
+
360
+ </h3><table class="source_code">
361
+ <tr>
362
+ <td>
363
+ <pre class="lines">
364
+
365
+
366
+ 53
367
+ 54
368
+ 55
369
+ 56
370
+ 57
371
+ 58
372
+ 59</pre>
373
+ </td>
374
+ <td>
375
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/fields.rb', line 53</span>
376
+
377
+ <span class='kw'>def</span> <span class='id identifier rubyid_remove_field'>remove_field</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span>
378
+ <span class='id identifier rubyid_field'>field</span> <span class='op'>=</span> <span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
379
+ <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='rparen'>)</span> <span class='kw'>or</span> <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>No such field</span><span class='tstring_end'>&quot;</span></span>
380
+ <span class='id identifier rubyid_remove_method'>remove_method</span> <span class='id identifier rubyid_field'>field</span>
381
+ <span class='id identifier rubyid_remove_method'>remove_method</span> <span class='symbol'>:#{</span><span class='id identifier rubyid_field'>field</span><span class='rbrace'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span>
382
+ <span class='id identifier rubyid_remove_method'>remove_method</span> <span class='symbol'>:#{</span><span class='id identifier rubyid_field'>field</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>&quot;</span></span>
383
+ <span class='kw'>end</span></pre>
384
+ </td>
385
+ </tr>
386
+ </table>
387
+ </div>
388
+
389
+ <div class="method_details ">
390
+ <h3 class="signature " id="table-instance_method">
391
+
392
+ - (<tt>Object</tt>) <strong>table</strong>(options)
393
+
299
394
 
395
+
396
+
397
+
398
+ </h3><table class="source_code">
399
+ <tr>
400
+ <td>
401
+ <pre class="lines">
402
+
403
+
404
+ 45
405
+ 46
406
+ 47
407
+ 48
408
+ 49
409
+ 50
410
+ 51</pre>
411
+ </td>
412
+ <td>
413
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/fields.rb', line 45</span>
414
+
415
+ <span class='kw'>def</span> <span class='id identifier rubyid_table'>table</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
416
+ <span class='comment'>#a default 'id' column is created when Dynamoid::Document is included
417
+ </span> <span class='kw'>unless</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span> <span class='id identifier rubyid_hash_key'>hash_key</span><span class='rparen'>)</span>
418
+ <span class='id identifier rubyid_remove_field'>remove_field</span> <span class='symbol'>:id</span>
419
+ <span class='id identifier rubyid_field'>field</span><span class='lparen'>(</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='rparen'>)</span>
420
+ <span class='kw'>end</span>
421
+ <span class='kw'>end</span></pre>
422
+ </td>
423
+ </tr>
424
+ </table>
300
425
  </div>
301
426
 
427
+ </div>
428
+
429
+ </div>
430
+
302
431
  <div id="footer">
303
- Generated on Thu Apr 26 01:26:24 2012 by
432
+ Generated on Thu Jun 27 21:59:09 2013 by
304
433
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
305
- 0.7.5 (ruby-1.9.3).
434
+ 0.8.6.1 (ruby-1.9.3).
306
435
  </div>
307
436
 
308
437
  </body>
@@ -6,19 +6,21 @@
6
6
  <title>
7
7
  Module: Dynamoid::Finders
8
8
 
9
- &mdash; Documentation by YARD 0.7.5
9
+ &mdash; Documentation by YARD 0.8.6.1
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
14
 
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- relpath = '..';
19
- if (relpath != '') relpath += '/';
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!" + escape(window.location.href);
20
21
  </script>
21
22
 
23
+
22
24
  <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
25
 
24
26
  <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
@@ -26,36 +28,41 @@
26
28
 
27
29
  </head>
28
30
  <body>
29
- <script type="text/javascript" charset="utf-8">
30
- if (window.top.frames.main) document.body.className = 'frames';
31
- </script>
32
-
33
31
  <div id="header">
34
32
  <div id="menu">
35
33
 
36
- <a href="../_index.html">Index (F)</a> &raquo;
34
+ <a href="../_index.html">Index (F)</a> &raquo;
37
35
  <span class='title'><span class='object_link'><a href="../Dynamoid.html" title="Dynamoid (module)">Dynamoid</a></span></span>
38
36
  &raquo;
39
37
  <span class="title">Finders</span>
40
38
 
41
-
39
+
42
40
  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
41
  </div>
44
42
 
45
43
  <div id="search">
46
44
 
47
- <a id="class_list_link" href="#">Class List</a>
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
48
49
 
49
- <a id="method_list_link" href="#">Method List</a>
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
50
54
 
51
- <a id="file_list_link" href="#">File List</a>
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
52
59
 
53
60
  </div>
54
61
  <div class="clear"></div>
55
62
  </div>
56
-
63
+
57
64
  <iframe id="search_frame"></iframe>
58
-
65
+
59
66
  <div id="content"><h1>Module: Dynamoid::Finders
60
67
 
61
68
 
@@ -98,11 +105,11 @@ class level, like find, find_by_id, and the method_missing style finders.</p>
98
105
 
99
106
  </div><h2>Defined Under Namespace</h2>
100
107
  <p class="children">
101
-
108
+
102
109
 
103
110
  <strong class="modules">Modules:</strong> <span class='object_link'><a href="Finders/ClassMethods.html" title="Dynamoid::Finders::ClassMethods (module)">ClassMethods</a></span>
104
111
 
105
-
112
+
106
113
 
107
114
 
108
115
  </p>
@@ -117,11 +124,11 @@ class level, like find, find_by_id, and the method_missing style finders.</p>
117
124
 
118
125
 
119
126
  </div>
120
-
127
+
121
128
  <div id="footer">
122
- Generated on Thu Apr 26 01:26:24 2012 by
129
+ Generated on Thu Jun 27 21:59:10 2013 by
123
130
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
124
- 0.7.5 (ruby-1.9.3).
131
+ 0.8.6.1 (ruby-1.9.3).
125
132
  </div>
126
133
 
127
134
  </body>
@@ -6,19 +6,21 @@
6
6
  <title>
7
7
  Module: Dynamoid::Finders::ClassMethods
8
8
 
9
- &mdash; Documentation by YARD 0.7.5
9
+ &mdash; Documentation by YARD 0.8.6.1
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
14
 
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- relpath = '../..';
19
- if (relpath != '') relpath += '/';
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../../';
20
+ framesUrl = "../../frames.html#!" + escape(window.location.href);
20
21
  </script>
21
22
 
23
+
22
24
  <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
23
25
 
24
26
  <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
@@ -26,36 +28,41 @@
26
28
 
27
29
  </head>
28
30
  <body>
29
- <script type="text/javascript" charset="utf-8">
30
- if (window.top.frames.main) document.body.className = 'frames';
31
- </script>
32
-
33
31
  <div id="header">
34
32
  <div id="menu">
35
33
 
36
- <a href="../../_index.html">Index (C)</a> &raquo;
34
+ <a href="../../_index.html">Index (C)</a> &raquo;
37
35
  <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="../Finders.html" title="Dynamoid::Finders (module)">Finders</a></span></span>
38
36
  &raquo;
39
37
  <span class="title">ClassMethods</span>
40
38
 
41
-
39
+
42
40
  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
41
  </div>
44
42
 
45
43
  <div id="search">
46
44
 
47
- <a id="class_list_link" href="#">Class List</a>
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../../class_list.html">
47
+ Class List
48
+ </a>
48
49
 
49
- <a id="method_list_link" href="#">Method List</a>
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../../method_list.html">
52
+ Method List
53
+ </a>
50
54
 
51
- <a id="file_list_link" href="#">File List</a>
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../../file_list.html">
57
+ File List
58
+ </a>
52
59
 
53
60
  </div>
54
61
  <div class="clear"></div>
55
62
  </div>
56
-
63
+
57
64
  <iframe id="search_frame"></iframe>
58
-
65
+
59
66
  <div id="content"><h1>Module: Dynamoid::Finders::ClassMethods
60
67
 
61
68
 
@@ -106,11 +113,81 @@
106
113
 
107
114
 
108
115
 
116
+
109
117
 
110
118
 
111
119
  <span class="summary_desc"><div class='inline'><p>Find one or many objects, specified by one id or an array of ids.</p>
112
120
  </div></span>
113
121
 
122
+ </li>
123
+
124
+
125
+ <li class="public ">
126
+ <span class="summary_signature">
127
+
128
+ <a href="#find_all-instance_method" title="#find_all (instance method)">- (Object) <strong>find_all</strong>(ids, options = {}) </a>
129
+
130
+
131
+
132
+ </span>
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+ <span class="summary_desc"><div class='inline'><p>Return objects found by the given array of ids, either hash keys, or hash/range key combinations using BatchGet.</p>
143
+ </div></span>
144
+
145
+ </li>
146
+
147
+
148
+ <li class="public ">
149
+ <span class="summary_signature">
150
+
151
+ <a href="#find_all_by_composite_key-instance_method" title="#find_all_by_composite_key (instance method)">- (Array) <strong>find_all_by_composite_key</strong>(hash_key, options = {}) </a>
152
+
153
+
154
+
155
+ </span>
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+ <span class="summary_desc"><div class='inline'><p>Find all objects by hash and range keys.</p>
166
+ </div></span>
167
+
168
+ </li>
169
+
170
+
171
+ <li class="public ">
172
+ <span class="summary_signature">
173
+
174
+ <a href="#find_by_composite_key-instance_method" title="#find_by_composite_key (instance method)">- (Object) <strong>find_by_composite_key</strong>(hash_key, range_key, options = {}) </a>
175
+
176
+
177
+
178
+ </span>
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+ <span class="summary_desc"><div class='inline'><p>Find one object directly by hash and range keys.</p>
189
+ </div></span>
190
+
114
191
  </li>
115
192
 
116
193
 
@@ -128,6 +205,7 @@
128
205
 
129
206
 
130
207
 
208
+
131
209
 
132
210
 
133
211
  <span class="summary_desc"><div class='inline'><p>Find one object directly by id.</p>
@@ -150,6 +228,7 @@
150
228
 
151
229
 
152
230
 
231
+
153
232
 
154
233
 
155
234
  <span class="summary_desc"><div class='inline'><p>Find using exciting method_missing finders attributes.</p>
@@ -169,13 +248,15 @@
169
248
  </p>
170
249
 
171
250
  <div class="method_details first">
172
- <p class="signature first" id="method_missing-instance_method">
251
+ <h3 class="signature first" id="method_missing-instance_method">
173
252
 
174
253
  - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span>/Array</tt>) <strong>method_missing</strong>(method, *args)
175
254
 
176
255
 
177
256
 
178
- </p><div class="docstring">
257
+
258
+
259
+ </h3><div class="docstring">
179
260
  <div class="discussion">
180
261
  <p>Find using exciting method_missing finders attributes. Uses criteria chains under the hood to accomplish this neatness.</p>
181
262
 
@@ -185,19 +266,23 @@
185
266
  <div class="tags">
186
267
 
187
268
  <div class="examples">
188
- <h3>Examples:</h3>
269
+ <p class="tag_title">Examples:</p>
189
270
 
190
- <h4><div class='inline'><p>find a user by a first name</p>
191
- </div></h4>
192
- <pre class="example code"><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_find_by_first_name'>find_by_first_name</span><span class='lparen'>(</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>
271
+
272
+ <p class="example_title"><div class='inline'><p>find a user by a first name</p>
273
+ </div></p>
274
+
275
+ <pre class="example code"><code><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_find_by_first_name'>find_by_first_name</span><span class='lparen'>(</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>
193
276
 
194
- <h4><div class='inline'><p>find all users by first and last name</p>
195
- </div></h4>
196
- <pre class="example code"><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_find_all_by_first_name_and_last_name'>find_all_by_first_name_and_last_name</span><span class='lparen'>(</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'>Symonds</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
277
+
278
+ <p class="example_title"><div class='inline'><p>find all users by first and last name</p>
279
+ </div></p>
280
+
281
+ <pre class="example code"><code><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_find_all_by_first_name_and_last_name'>find_all_by_first_name_and_last_name</span><span class='lparen'>(</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'>Symonds</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></code></pre>
197
282
 
198
283
  </div>
199
284
 
200
- <h3>Returns:</h3>
285
+ <p class="tag_title">Returns:</p>
201
286
  <ul class="return">
202
287
 
203
288
  <li>
@@ -214,7 +299,7 @@
214
299
  </li>
215
300
 
216
301
  </ul>
217
- <h3>Since:</h3>
302
+ <p class="tag_title">Since:</p>
218
303
  <ul class="since">
219
304
 
220
305
  <li>
@@ -236,26 +321,26 @@
236
321
  <pre class="lines">
237
322
 
238
323
 
239
- 63
240
- 64
241
- 65
242
- 66
243
- 67
244
- 68
245
- 69
246
- 70
247
- 71
248
- 72
249
- 73
250
- 74
251
- 75
252
- 76
253
- 77
254
- 78
255
- 79</pre>
324
+ 113
325
+ 114
326
+ 115
327
+ 116
328
+ 117
329
+ 118
330
+ 119
331
+ 120
332
+ 121
333
+ 122
334
+ 123
335
+ 124
336
+ 125
337
+ 126
338
+ 127
339
+ 128
340
+ 129</pre>
256
341
  </td>
257
342
  <td>
258
- <pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 63</span>
343
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 113</span>
259
344
 
260
345
  <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
261
346
  <span class='kw'>if</span> <span class='id identifier rubyid_method'>method</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>find</span><span class='regexp_end'>/</span></span>
@@ -264,7 +349,7 @@
264
349
 
265
350
  <span class='id identifier rubyid_chain'>chain</span> <span class='op'>=</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Criteria</span><span class='op'>::</span><span class='const'>Chain</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
266
351
  <span class='id identifier rubyid_chain'>chain</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_h'>h</span><span class='op'>|</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_attr'>attr</span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='op'>|</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='id identifier rubyid_attr'>attr</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_args'>args</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='rbrace'>}</span>
267
-
352
+
268
353
  <span class='kw'>if</span> <span class='id identifier rubyid_finder'>finder</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>all</span><span class='regexp_end'>/</span></span>
269
354
  <span class='kw'>return</span> <span class='id identifier rubyid_chain'>chain</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span>
270
355
  <span class='kw'>else</span>
@@ -284,16 +369,18 @@
284
369
 
285
370
  <div id="instance_method_details" class="method_details_list">
286
371
  <h2>Instance Method Details</h2>
287
-
372
+
288
373
 
289
374
  <div class="method_details first">
290
- <p class="signature first" id="find-instance_method">
375
+ <h3 class="signature first" id="find-instance_method">
291
376
 
292
377
  - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>find</strong>(*ids)
293
378
 
294
379
 
295
380
 
296
- </p><div class="docstring">
381
+
382
+
383
+ </h3><div class="docstring">
297
384
  <div class="discussion">
298
385
  <p>Find one or many objects, specified by one id or an array of ids.</p>
299
386
 
@@ -301,7 +388,7 @@
301
388
  </div>
302
389
  </div>
303
390
  <div class="tags">
304
- <h3>Parameters:</h3>
391
+ <p class="tag_title">Parameters:</p>
305
392
  <ul class="param">
306
393
 
307
394
  <li>
@@ -321,7 +408,7 @@
321
408
 
322
409
  </ul>
323
410
 
324
- <h3>Returns:</h3>
411
+ <p class="tag_title">Returns:</p>
325
412
  <ul class="return">
326
413
 
327
414
  <li>
@@ -338,7 +425,7 @@
338
425
  </li>
339
426
 
340
427
  </ul>
341
- <h3>Since:</h3>
428
+ <p class="tag_title">Since:</p>
342
429
  <ul class="since">
343
430
 
344
431
  <li>
@@ -374,8 +461,7 @@
374
461
  29
375
462
  30
376
463
  31
377
- 32
378
- 33</pre>
464
+ 32</pre>
379
465
  </td>
380
466
  <td>
381
467
  <pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 18</span>
@@ -392,8 +478,277 @@
392
478
  <span class='kw'>if</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='op'>==</span> <span class='int'>1</span>
393
479
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_find_by_id'>find_by_id</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
394
480
  <span class='kw'>else</span>
395
- <span class='id identifier rubyid_items'>items</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='kw'>self</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='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
396
- <span class='id identifier rubyid_items'>items</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_build'>build</span><span class='lparen'>(</span><span class='id identifier rubyid_i'>i</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_o'>o</span><span class='op'>|</span> <span class='id identifier rubyid_o'>o</span><span class='period'>.</span><span class='id identifier rubyid_new_record'>new_record</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
481
+ <span class='id identifier rubyid_find_all'>find_all</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span>
482
+ <span class='kw'>end</span>
483
+ <span class='kw'>end</span></pre>
484
+ </td>
485
+ </tr>
486
+ </table>
487
+ </div>
488
+
489
+ <div class="method_details ">
490
+ <h3 class="signature " id="find_all-instance_method">
491
+
492
+ - (<tt>Object</tt>) <strong>find_all</strong>(ids, options = {})
493
+
494
+
495
+
496
+
497
+
498
+ </h3><div class="docstring">
499
+ <div class="discussion">
500
+ <p>Return objects found by the given array of ids, either hash keys, or hash/range key combinations using BatchGet.
501
+ Returns empty array if no results found.</p>
502
+
503
+
504
+ </div>
505
+ </div>
506
+ <div class="tags">
507
+
508
+ <div class="examples">
509
+ <p class="tag_title">Examples:</p>
510
+
511
+
512
+ <pre class="example code"><code><span class='id identifier rubyid_find'>find</span> <span class='id identifier rubyid_all'>all</span> <span class='id identifier rubyid_the'>the</span> <span class='id identifier rubyid_user'>user</span> <span class='id identifier rubyid_with'>with</span> <span class='id identifier rubyid_hash'>hash</span> <span class='id identifier rubyid_key'>key</span>
513
+ <span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>2</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>3</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
514
+
515
+ <span class='id identifier rubyid_find'>find</span> <span class='id identifier rubyid_all'>all</span> <span class='id identifier rubyid_the'>the</span> <span class='id identifier rubyid_tweets'>tweets</span> <span class='id identifier rubyid_using'>using</span> <span class='id identifier rubyid_hash'>hash</span> <span class='id identifier rubyid_key'>key</span> <span class='kw'>and</span> <span class='id identifier rubyid_range'>range</span> <span class='id identifier rubyid_key'>key</span> <span class='id identifier rubyid_with'>with</span> <span class='id identifier rubyid_consistent'>consistent</span> <span class='id identifier rubyid_read'>read</span>
516
+ <span class='const'>Tweet</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>red</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>green</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:consistent_read</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='rparen'>)</span></code></pre>
517
+
518
+ </div>
519
+ <p class="tag_title">Parameters:</p>
520
+ <ul class="param">
521
+
522
+ <li>
523
+
524
+ <span class='name'>ids</span>
525
+
526
+
527
+ <span class='type'>(<tt>Array&lt;ID&gt;</tt>)</span>
528
+
529
+
530
+
531
+ </li>
532
+
533
+ <li>
534
+
535
+ <span class='name'>options:</span>
536
+
537
+
538
+ <span class='type'>(<tt>Hash</tt>)</span>
539
+
540
+
541
+
542
+ &mdash;
543
+ <div class='inline'><p>Passed to the underlying query.</p>
544
+ </div>
545
+
546
+ </li>
547
+
548
+ </ul>
549
+
550
+
551
+ </div><table class="source_code">
552
+ <tr>
553
+ <td>
554
+ <pre class="lines">
555
+
556
+
557
+ 46
558
+ 47
559
+ 48
560
+ 49</pre>
561
+ </td>
562
+ <td>
563
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 46</span>
564
+
565
+ <span class='kw'>def</span> <span class='id identifier rubyid_find_all'>find_all</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
566
+ <span class='id identifier rubyid_items'>items</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='kw'>self</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='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
567
+ <span class='id identifier rubyid_items'>items</span> <span class='op'>?</span> <span class='id identifier rubyid_items'>items</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_from_database'>from_database</span><span class='lparen'>(</span><span class='id identifier rubyid_i'>i</span><span class='rparen'>)</span><span class='rbrace'>}</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
568
+ <span class='kw'>end</span></pre>
569
+ </td>
570
+ </tr>
571
+ </table>
572
+ </div>
573
+
574
+ <div class="method_details ">
575
+ <h3 class="signature " id="find_all_by_composite_key-instance_method">
576
+
577
+ - (<tt>Array</tt>) <strong>find_all_by_composite_key</strong>(hash_key, options = {})
578
+
579
+
580
+
581
+
582
+
583
+ </h3><div class="docstring">
584
+ <div class="discussion">
585
+ <p>Find all objects by hash and range keys.</p>
586
+
587
+
588
+ </div>
589
+ </div>
590
+ <div class="tags">
591
+
592
+ <div class="examples">
593
+ <p class="tag_title">Examples:</p>
594
+
595
+
596
+ <p class="example_title"><div class='inline'><p>find all ChamberTypes whose level is greater than 1</p>
597
+ </div></p>
598
+
599
+ <pre class="example code"><code><span class='kw'>class</span> <span class='const'>ChamberType</span>
600
+ <span class='id identifier rubyid_include'>include</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Document</span>
601
+ <span class='id identifier rubyid_field'>field</span> <span class='symbol'>:chamber_type</span><span class='comma'>,</span> <span class='symbol'>:string</span>
602
+ <span class='id identifier rubyid_range'>range</span> <span class='symbol'>:level</span><span class='comma'>,</span> <span class='symbol'>:integer</span>
603
+ <span class='id identifier rubyid_table'>table</span> <span class='symbol'>:key</span> <span class='op'>=&gt;</span> <span class='symbol'>:chamber_type</span>
604
+ <span class='kw'>end</span>
605
+ <span class='const'>ChamberType</span><span class='period'>.</span><span class='id identifier rubyid_find_all_by_composite_key'>find_all_by_composite_key</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>DustVault</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>range_greater_than:</span> <span class='int'>1</span><span class='rparen'>)</span></code></pre>
606
+
607
+ </div>
608
+ <p class="tag_title">Parameters:</p>
609
+ <ul class="param">
610
+
611
+ <li>
612
+
613
+ <span class='name'>hash_key</span>
614
+
615
+
616
+ <span class='type'>(<tt>String</tt>)</span>
617
+
618
+
619
+
620
+ &mdash;
621
+ <div class='inline'><p>of the objects to find</p>
622
+ </div>
623
+
624
+ </li>
625
+
626
+ <li>
627
+
628
+ <span class='name'>options</span>
629
+
630
+
631
+ <span class='type'>(<tt>Hash</tt>)</span>
632
+
633
+
634
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
635
+
636
+
637
+ &mdash;
638
+ <div class='inline'><p>the options for the range key</p>
639
+ </div>
640
+
641
+ </li>
642
+
643
+ </ul>
644
+
645
+
646
+
647
+
648
+
649
+
650
+ <p class="tag_title">Options Hash (<tt>options</tt>):</p>
651
+ <ul class="option">
652
+
653
+ <li>
654
+ <span class="name">:range_value</span>
655
+ <span class="type">(<tt>Range</tt>)</span>
656
+ <span class="default">
657
+
658
+ </span>
659
+
660
+ &mdash; <div class='inline'><p>find the range key within this range</p>
661
+ </div>
662
+
663
+ </li>
664
+
665
+ <li>
666
+ <span class="name">:range_greater_than</span>
667
+ <span class="type">(<tt>Number</tt>)</span>
668
+ <span class="default">
669
+
670
+ </span>
671
+
672
+ &mdash; <div class='inline'><p>find range keys greater than this</p>
673
+ </div>
674
+
675
+ </li>
676
+
677
+ <li>
678
+ <span class="name">:range_less_than</span>
679
+ <span class="type">(<tt>Number</tt>)</span>
680
+ <span class="default">
681
+
682
+ </span>
683
+
684
+ &mdash; <div class='inline'><p>find range keys less than this</p>
685
+ </div>
686
+
687
+ </li>
688
+
689
+ <li>
690
+ <span class="name">:range_gte</span>
691
+ <span class="type">(<tt>Number</tt>)</span>
692
+ <span class="default">
693
+
694
+ </span>
695
+
696
+ &mdash; <div class='inline'><p>find range keys greater than or equal to this</p>
697
+ </div>
698
+
699
+ </li>
700
+
701
+ <li>
702
+ <span class="name">:range_lte</span>
703
+ <span class="type">(<tt>Number</tt>)</span>
704
+ <span class="default">
705
+
706
+ </span>
707
+
708
+ &mdash; <div class='inline'><p>find range keys less than or equal to this</p>
709
+ </div>
710
+
711
+ </li>
712
+
713
+ </ul>
714
+
715
+
716
+ <p class="tag_title">Returns:</p>
717
+ <ul class="return">
718
+
719
+ <li>
720
+
721
+
722
+ <span class='type'>(<tt>Array</tt>)</span>
723
+
724
+
725
+
726
+ &mdash;
727
+ <div class='inline'><p>an array of all matching items</p>
728
+ </div>
729
+
730
+ </li>
731
+
732
+ </ul>
733
+
734
+ </div><table class="source_code">
735
+ <tr>
736
+ <td>
737
+ <pre class="lines">
738
+
739
+
740
+ 96
741
+ 97
742
+ 98
743
+ 99
744
+ 100</pre>
745
+ </td>
746
+ <td>
747
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 96</span>
748
+
749
+ <span class='kw'>def</span> <span class='id identifier rubyid_find_all_by_composite_key'>find_all_by_composite_key</span><span class='lparen'>(</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
750
+ <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='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='label'>hash_value:</span> <span class='id identifier rubyid_hash_key'>hash_key</span><span class='rbrace'>}</span><span class='rparen'>)</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_item'>item</span><span class='op'>|</span>
751
+ <span class='id identifier rubyid_from_database'>from_database</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span>
397
752
  <span class='kw'>end</span>
398
753
  <span class='kw'>end</span></pre>
399
754
  </td>
@@ -402,13 +757,89 @@
402
757
  </div>
403
758
 
404
759
  <div class="method_details ">
405
- <p class="signature " id="find_by_id-instance_method">
760
+ <h3 class="signature " id="find_by_composite_key-instance_method">
761
+
762
+ - (<tt>Object</tt>) <strong>find_by_composite_key</strong>(hash_key, range_key, options = {})
763
+
764
+
765
+
766
+
767
+
768
+ </h3><div class="docstring">
769
+ <div class="discussion">
770
+ <p>Find one object directly by hash and range keys</p>
771
+
772
+
773
+ </div>
774
+ </div>
775
+ <div class="tags">
776
+ <p class="tag_title">Parameters:</p>
777
+ <ul class="param">
778
+
779
+ <li>
780
+
781
+ <span class='name'>hash_key</span>
782
+
783
+
784
+ <span class='type'>(<tt>String</tt>)</span>
785
+
786
+
787
+
788
+ &mdash;
789
+ <div class='inline'><p>of the object to find</p>
790
+ </div>
791
+
792
+ </li>
793
+
794
+ <li>
795
+
796
+ <span class='name'>range_key</span>
797
+
798
+
799
+ <span class='type'>(<tt>String/Integer/Float</tt>)</span>
800
+
801
+
802
+
803
+ &mdash;
804
+ <div class='inline'><p>of the object to find</p>
805
+ </div>
806
+
807
+ </li>
808
+
809
+ </ul>
810
+
811
+
812
+ </div><table class="source_code">
813
+ <tr>
814
+ <td>
815
+ <pre class="lines">
816
+
817
+
818
+ 71
819
+ 72
820
+ 73</pre>
821
+ </td>
822
+ <td>
823
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 71</span>
824
+
825
+ <span class='kw'>def</span> <span class='id identifier rubyid_find_by_composite_key'>find_by_composite_key</span><span class='lparen'>(</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
826
+ <span class='id identifier rubyid_find_by_id'>find_by_id</span><span class='lparen'>(</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='symbol'>:range_key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='rparen'>)</span>
827
+ <span class='kw'>end</span></pre>
828
+ </td>
829
+ </tr>
830
+ </table>
831
+ </div>
832
+
833
+ <div class="method_details ">
834
+ <h3 class="signature " id="find_by_id-instance_method">
406
835
 
407
836
  - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>find_by_id</strong>(id, options = {})
408
837
 
409
838
 
410
839
 
411
- </p><div class="docstring">
840
+
841
+
842
+ </h3><div class="docstring">
412
843
  <div class="discussion">
413
844
  <p>Find one object directly by id.</p>
414
845
 
@@ -416,7 +847,7 @@
416
847
  </div>
417
848
  </div>
418
849
  <div class="tags">
419
- <h3>Parameters:</h3>
850
+ <p class="tag_title">Parameters:</p>
420
851
  <ul class="param">
421
852
 
422
853
  <li>
@@ -436,7 +867,7 @@
436
867
 
437
868
  </ul>
438
869
 
439
- <h3>Returns:</h3>
870
+ <p class="tag_title">Returns:</p>
440
871
  <ul class="return">
441
872
 
442
873
  <li>
@@ -453,7 +884,7 @@
453
884
  </li>
454
885
 
455
886
  </ul>
456
- <h3>Since:</h3>
887
+ <p class="tag_title">Since:</p>
457
888
  <ul class="since">
458
889
 
459
890
  <li>
@@ -475,26 +906,22 @@
475
906
  <pre class="lines">
476
907
 
477
908
 
478
- 42
479
- 43
480
- 44
481
- 45
482
- 46
483
- 47
484
- 48
485
- 49
486
- 50</pre>
909
+ 58
910
+ 59
911
+ 60
912
+ 61
913
+ 62
914
+ 63
915
+ 64</pre>
487
916
  </td>
488
917
  <td>
489
- <pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 42</span>
918
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 58</span>
490
919
 
491
920
  <span class='kw'>def</span> <span class='id identifier rubyid_find_by_id'>find_by_id</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
492
921
  <span class='kw'>if</span> <span class='id identifier rubyid_item'>item</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='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
493
- <span class='id identifier rubyid_obj'>obj</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span>
494
- <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_new_record'>new_record</span> <span class='op'>=</span> <span class='kw'>false</span>
495
- <span class='kw'>return</span> <span class='id identifier rubyid_obj'>obj</span>
922
+ <span class='id identifier rubyid_from_database'>from_database</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span>
496
923
  <span class='kw'>else</span>
497
- <span class='kw'>return</span> <span class='kw'>nil</span>
924
+ <span class='kw'>nil</span>
498
925
  <span class='kw'>end</span>
499
926
  <span class='kw'>end</span></pre>
500
927
  </td>
@@ -505,11 +932,11 @@
505
932
  </div>
506
933
 
507
934
  </div>
508
-
935
+
509
936
  <div id="footer">
510
- Generated on Thu Apr 26 01:26:24 2012 by
937
+ Generated on Thu Jun 27 21:59:10 2013 by
511
938
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
512
- 0.7.5 (ruby-1.9.3).
939
+ 0.8.6.1 (ruby-1.9.3).
513
940
  </div>
514
941
 
515
942
  </body>