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::Adapter
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 (A)</a> &raquo;
34
+ <a href="../_index.html">Index (A)</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">Adapter</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::Adapter
60
67
 
61
68
 
@@ -81,7 +88,7 @@
81
88
 
82
89
  <dt class="r1 last">Defined in:</dt>
83
90
  <dd class="r1 last">lib/dynamoid/adapter.rb<span class="defines">,<br />
84
- lib/dynamoid/adapter/local.rb,<br /> lib/dynamoid/adapter/aws_sdk.rb</span>
91
+ lib/dynamoid/adapter/aws_sdk.rb</span>
85
92
  </dd>
86
93
 
87
94
  </dl>
@@ -89,7 +96,7 @@
89
96
 
90
97
  <h2>Overview</h2><div class="docstring">
91
98
  <div class="discussion">
92
- <p>Adapter provides a generic, write-through class that abstracts variations in the underlying connections to provide a uniform response
99
+ <p>Adapter provides a generic, write-through class that abstracts variations in the underlying connections to provide a uniform response
93
100
  to Dynamoid.</p>
94
101
 
95
102
 
@@ -100,11 +107,11 @@ to Dynamoid.</p>
100
107
 
101
108
  </div><h2>Defined Under Namespace</h2>
102
109
  <p class="children">
103
-
110
+
104
111
 
105
- <strong class="modules">Modules:</strong> <span class='object_link'><a href="Adapter/AwsSdk.html" title="Dynamoid::Adapter::AwsSdk (module)">AwsSdk</a></span>, <span class='object_link'><a href="Adapter/Local.html" title="Dynamoid::Adapter::Local (module)">Local</a></span>
112
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Adapter/AwsSdk.html" title="Dynamoid::Adapter::AwsSdk (module)">AwsSdk</a></span>
106
113
 
107
-
114
+
108
115
 
109
116
 
110
117
  </p>
@@ -125,6 +132,7 @@ to Dynamoid.</p>
125
132
  </span>
126
133
 
127
134
 
135
+
128
136
 
129
137
 
130
138
 
@@ -167,9 +175,10 @@ to Dynamoid.</p>
167
175
 
168
176
 
169
177
 
178
+
170
179
 
171
180
 
172
- <span class="summary_desc"><div class='inline'><p>The actual adapter currently in use: presently, either AwsSdk or Local.</p>
181
+ <span class="summary_desc"><div class='inline'><p>The actual adapter currently in use: presently AwsSdk.</p>
173
182
  </div></span>
174
183
 
175
184
  </li>
@@ -189,6 +198,7 @@ to Dynamoid.</p>
189
198
 
190
199
 
191
200
 
201
+
192
202
 
193
203
 
194
204
  <span class="summary_desc"><div class='inline'><p>Shows how long it takes a method to run on the adapter.</p>
@@ -200,7 +210,7 @@ to Dynamoid.</p>
200
210
  <li class="public ">
201
211
  <span class="summary_signature">
202
212
 
203
- <a href="#delete-instance_method" title="#delete (instance method)">- (Object) <strong>delete</strong>(table, id, options = {}) </a>
213
+ <a href="#delete-instance_method" title="#delete (instance method)">- (Object) <strong>delete</strong>(table, ids, options = {}) </a>
204
214
 
205
215
 
206
216
 
@@ -211,11 +221,35 @@ to Dynamoid.</p>
211
221
 
212
222
 
213
223
 
224
+
214
225
 
215
226
 
216
227
  <span class="summary_desc"><div class='inline'><p>Delete an item from a table.</p>
217
228
  </div></span>
218
229
 
230
+ </li>
231
+
232
+
233
+ <li class="public ">
234
+ <span class="summary_signature">
235
+
236
+ <a href="#get_original_id_and_partition-instance_method" title="#get_original_id_and_partition (instance method)">- (String) <strong>get_original_id_and_partition</strong>(id) </a>
237
+
238
+
239
+
240
+ </span>
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+ <span class="summary_desc"><div class='inline'><p>Get original id (hash_key) and partiton number from a hash_key.</p>
251
+ </div></span>
252
+
219
253
  </li>
220
254
 
221
255
 
@@ -233,6 +267,7 @@ to Dynamoid.</p>
233
267
 
234
268
 
235
269
 
270
+
236
271
 
237
272
 
238
273
  <span class="summary_desc"><div class='inline'><p>Takes a list of ids and returns them with partitioning added.</p>
@@ -244,7 +279,7 @@ to Dynamoid.</p>
244
279
  <li class="public ">
245
280
  <span class="summary_signature">
246
281
 
247
- <a href="#method_missing-instance_method" title="#method_missing (instance method)">- (Object) <strong>method_missing</strong>(method, *args) </a>
282
+ <a href="#method_missing-instance_method" title="#method_missing (instance method)">- (Object) <strong>method_missing</strong>(method, *args, &amp;block) </a>
248
283
 
249
284
 
250
285
 
@@ -255,11 +290,35 @@ to Dynamoid.</p>
255
290
 
256
291
 
257
292
 
293
+
258
294
 
259
295
 
260
296
  <span class="summary_desc"><div class='inline'><p>Delegate all methods that aren't defind here to the underlying adapter.</p>
261
297
  </div></span>
262
298
 
299
+ </li>
300
+
301
+
302
+ <li class="public ">
303
+ <span class="summary_signature">
304
+
305
+ <a href="#query-instance_method" title="#query (instance method)">- (Array) <strong>query</strong>(table_name, opts = {}) </a>
306
+
307
+
308
+
309
+ </span>
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+ <span class="summary_desc"><div class='inline'><p>Query the DynamoDB table.</p>
320
+ </div></span>
321
+
263
322
  </li>
264
323
 
265
324
 
@@ -277,6 +336,7 @@ to Dynamoid.</p>
277
336
 
278
337
 
279
338
 
339
+
280
340
 
281
341
 
282
342
  <span class="summary_desc"><div class='inline'><p>Read one or many keys from the selected table.</p>
@@ -299,6 +359,7 @@ to Dynamoid.</p>
299
359
 
300
360
 
301
361
 
362
+
302
363
 
303
364
 
304
365
  <span class="summary_desc"><div class='inline'><p>Establishes a connection to the underyling adapter and caches all its tables for speedier future lookups.</p>
@@ -310,7 +371,7 @@ to Dynamoid.</p>
310
371
  <li class="public ">
311
372
  <span class="summary_signature">
312
373
 
313
- <a href="#result_for_partition-instance_method" title="#result_for_partition (instance method)">- (Object) <strong>result_for_partition</strong>(results) </a>
374
+ <a href="#result_for_partition-instance_method" title="#result_for_partition (instance method)">- (Object) <strong>result_for_partition</strong>(results, table_name) </a>
314
375
 
315
376
 
316
377
 
@@ -321,9 +382,10 @@ to Dynamoid.</p>
321
382
 
322
383
 
323
384
 
385
+
324
386
 
325
387
 
326
- <span class="summary_desc"><div class='inline'><p>Takes an array of results that are partitioned, find the most recently updated one, and return only it.</p>
388
+ <span class="summary_desc"><div class='inline'><p>Takes an array of query results that are partitioned, find the most recently updated ones that share an id and range_key, and return only the most recently updated.</p>
327
389
  </div></span>
328
390
 
329
391
  </li>
@@ -343,6 +405,7 @@ to Dynamoid.</p>
343
405
 
344
406
 
345
407
 
408
+
346
409
 
347
410
 
348
411
  <span class="summary_desc"><div class='inline'><p>Scans a table.</p>
@@ -354,7 +417,7 @@ to Dynamoid.</p>
354
417
  <li class="public ">
355
418
  <span class="summary_signature">
356
419
 
357
- <a href="#write-instance_method" title="#write (instance method)">- (Object) <strong>write</strong>(table, object) </a>
420
+ <a href="#write-instance_method" title="#write (instance method)">- (Object) <strong>write</strong>(table, object, options = nil) </a>
358
421
 
359
422
 
360
423
 
@@ -365,6 +428,7 @@ to Dynamoid.</p>
365
428
 
366
429
 
367
430
 
431
+
368
432
 
369
433
 
370
434
  <span class="summary_desc"><div class='inline'><p>Write an object to the adapter.</p>
@@ -384,13 +448,15 @@ to Dynamoid.</p>
384
448
  </p>
385
449
 
386
450
  <div class="method_details first">
387
- <p class="signature first" id="method_missing-instance_method">
451
+ <h3 class="signature first" id="method_missing-instance_method">
452
+
453
+ - (<tt>Object</tt>) <strong>method_missing</strong>(method, *args, &amp;block)
388
454
 
389
- - (<tt>Object</tt>) <strong>method_missing</strong>(method, *args)
455
+
390
456
 
391
457
 
392
458
 
393
- </p><div class="docstring">
459
+ </h3><div class="docstring">
394
460
  <div class="discussion">
395
461
  <p>Delegate all methods that aren't defind here to the underlying adapter.</p>
396
462
 
@@ -399,7 +465,7 @@ to Dynamoid.</p>
399
465
  </div>
400
466
  <div class="tags">
401
467
 
402
- <h3>Since:</h3>
468
+ <p class="tag_title">Since:</p>
403
469
  <ul class="since">
404
470
 
405
471
  <li>
@@ -421,16 +487,16 @@ to Dynamoid.</p>
421
487
  <pre class="lines">
422
488
 
423
489
 
424
- 169
425
- 170
426
- 171
427
- 172</pre>
490
+ 222
491
+ 223
492
+ 224
493
+ 225</pre>
428
494
  </td>
429
495
  <td>
430
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 169</span>
496
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 222</span>
431
497
 
432
- <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>
433
- <span class='kw'>return</span> <span class='id identifier rubyid_benchmark'>benchmark</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> <span class='lbrace'>{</span><span class='id identifier rubyid_adapter'>adapter</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</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><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='ivar'>@adapter</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
498
+ <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='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
499
+ <span class='kw'>return</span> <span class='id identifier rubyid_benchmark'>benchmark</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> <span class='lbrace'>{</span><span class='id identifier rubyid_adapter'>adapter</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</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='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='ivar'>@adapter</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
434
500
  <span class='kw'>super</span>
435
501
  <span class='kw'>end</span></pre>
436
502
  </td>
@@ -445,15 +511,16 @@ to Dynamoid.</p>
445
511
 
446
512
 
447
513
  <span id="tables=-instance_method"></span>
448
- <span id="tables-instance_method"></span>
449
514
  <div class="method_details first">
450
- <p class="signature first" id="tables-instance_method">
515
+ <h3 class="signature first" id="tables-instance_method">
451
516
 
452
517
  - (<tt>Object</tt>) <strong>tables</strong>
453
518
 
454
519
 
455
520
 
456
- </p><div class="docstring">
521
+
522
+
523
+ </h3><div class="docstring">
457
524
  <div class="discussion">
458
525
  <p>Returns the value of attribute tables</p>
459
526
 
@@ -489,25 +556,27 @@ to Dynamoid.</p>
489
556
 
490
557
  <div id="instance_method_details" class="method_details_list">
491
558
  <h2>Instance Method Details</h2>
492
-
559
+
493
560
 
494
561
  <div class="method_details first">
495
- <p class="signature first" id="adapter-instance_method">
562
+ <h3 class="signature first" id="adapter-instance_method">
496
563
 
497
564
  - (<tt>Object</tt>) <strong>adapter</strong>
498
565
 
499
566
 
500
567
 
501
- </p><div class="docstring">
568
+
569
+
570
+ </h3><div class="docstring">
502
571
  <div class="discussion">
503
- <p>The actual adapter currently in use: presently, either AwsSdk or Local.</p>
572
+ <p>The actual adapter currently in use: presently AwsSdk.</p>
504
573
 
505
574
 
506
575
  </div>
507
576
  </div>
508
577
  <div class="tags">
509
578
 
510
- <h3>Since:</h3>
579
+ <p class="tag_title">Since:</p>
511
580
  <ul class="since">
512
581
 
513
582
  <li>
@@ -547,13 +616,15 @@ to Dynamoid.</p>
547
616
  </div>
548
617
 
549
618
  <div class="method_details ">
550
- <p class="signature " id="benchmark-instance_method">
619
+ <h3 class="signature " id="benchmark-instance_method">
551
620
 
552
621
  - (<tt>Object</tt>) <strong>benchmark</strong>(method, *args) { ... }
553
622
 
554
623
 
555
624
 
556
- </p><div class="docstring">
625
+
626
+
627
+ </h3><div class="docstring">
557
628
  <div class="discussion">
558
629
  <p>Shows how long it takes a method to run on the adapter. Useful for generating logged output.</p>
559
630
 
@@ -561,7 +632,7 @@ to Dynamoid.</p>
561
632
  </div>
562
633
  </div>
563
634
  <div class="tags">
564
- <h3>Parameters:</h3>
635
+ <p class="tag_title">Parameters:</p>
565
636
  <ul class="param">
566
637
 
567
638
  <li>
@@ -596,7 +667,7 @@ to Dynamoid.</p>
596
667
 
597
668
  </ul>
598
669
 
599
- <h3>Yields:</h3>
670
+ <p class="tag_title">Yields:</p>
600
671
  <ul class="yield">
601
672
 
602
673
  <li>
@@ -613,7 +684,7 @@ to Dynamoid.</p>
613
684
  </li>
614
685
 
615
686
  </ul>
616
- <h3>Returns:</h3>
687
+ <p class="tag_title">Returns:</p>
617
688
  <ul class="return">
618
689
 
619
690
  <li>
@@ -630,7 +701,7 @@ to Dynamoid.</p>
630
701
  </li>
631
702
 
632
703
  </ul>
633
- <h3>Since:</h3>
704
+ <p class="tag_title">Since:</p>
634
705
  <ul class="since">
635
706
 
636
707
  <li>
@@ -674,13 +745,15 @@ to Dynamoid.</p>
674
745
  </div>
675
746
 
676
747
  <div class="method_details ">
677
- <p class="signature " id="delete-instance_method">
748
+ <h3 class="signature " id="delete-instance_method">
678
749
 
679
- - (<tt>Object</tt>) <strong>delete</strong>(table, id, options = {})
750
+ - (<tt>Object</tt>) <strong>delete</strong>(table, ids, options = {})
680
751
 
681
752
 
682
753
 
683
- </p><div class="docstring">
754
+
755
+
756
+ </h3><div class="docstring">
684
757
  <div class="discussion">
685
758
  <p>Delete an item from a table. If partitioning is turned on, deletes all partitioned keys as well.</p>
686
759
 
@@ -688,7 +761,7 @@ to Dynamoid.</p>
688
761
  </div>
689
762
  </div>
690
763
  <div class="tags">
691
- <h3>Parameters:</h3>
764
+ <p class="tag_title">Parameters:</p>
692
765
  <ul class="param">
693
766
 
694
767
  <li>
@@ -708,15 +781,15 @@ to Dynamoid.</p>
708
781
 
709
782
  <li>
710
783
 
711
- <span class='name'>id</span>
784
+ <span class='name'>ids</span>
712
785
 
713
786
 
714
- <span class='type'>(<tt>String</tt>)</span>
787
+ <span class='type'>(<tt>Array</tt>)</span>
715
788
 
716
789
 
717
790
 
718
791
  &mdash;
719
- <div class='inline'><p>the id of the record</p>
792
+ <div class='inline'><p>to delete, can also be a string of just one id</p>
720
793
  </div>
721
794
 
722
795
  </li>
@@ -726,28 +799,131 @@ to Dynamoid.</p>
726
799
  <span class='name'>range_key</span>
727
800
 
728
801
 
729
- <span class='type'>(<tt>Number</tt>)</span>
802
+ <span class='type'>(<tt>Array</tt>)</span>
730
803
 
731
804
 
732
805
 
733
806
  &mdash;
734
- <div class='inline'><p>the range key of the record</p>
807
+ <div class='inline'><p>of the record to delete, can also be a string of just one range_key</p>
735
808
  </div>
736
809
 
737
810
  </li>
738
811
 
739
812
  </ul>
740
813
 
741
- <h3>Since:</h3>
742
- <ul class="since">
814
+
815
+ </div><table class="source_code">
816
+ <tr>
817
+ <td>
818
+ <pre class="lines">
819
+
820
+
821
+ 101
822
+ 102
823
+ 103
824
+ 104
825
+ 105
826
+ 106
827
+ 107
828
+ 108
829
+ 109
830
+ 110
831
+ 111
832
+ 112
833
+ 113
834
+ 114
835
+ 115
836
+ 116
837
+ 117
838
+ 118
839
+ 119
840
+ 120
841
+ 121
842
+ 122
843
+ 123
844
+ 124</pre>
845
+ </td>
846
+ <td>
847
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 101</span>
848
+
849
+ <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</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='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
850
+ <span class='id identifier rubyid_range_key'>range_key</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:range_key</span><span class='rbracket'>]</span> <span class='comment'>#array of range keys that matches the ids passed in
851
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:each</span><span class='rparen'>)</span>
852
+ <span class='kw'>if</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:each</span><span class='rparen'>)</span>
853
+ <span class='comment'>#turn ids into array of arrays each element being hash_key, range_key
854
+ </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_each_with_index'>each_with_index</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_id'>id</span><span class='comma'>,</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span><span class='id identifier rubyid_range_key'>range_key</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rbrace'>}</span>
855
+ <span class='kw'>else</span>
856
+ <span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_range_key'>range_key</span> <span class='op'>?</span> <span class='lbracket'>[</span><span class='lbracket'>[</span><span class='id identifier rubyid_ids'>ids</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='id identifier rubyid_ids'>ids</span>
857
+ <span class='kw'>end</span>
858
+
859
+ <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>
860
+ <span class='id identifier rubyid_batch_delete_item'>batch_delete_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span><span class='rparen'>)</span>
861
+ <span class='kw'>else</span>
862
+ <span class='id identifier rubyid_batch_delete_item'>batch_delete_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span>
863
+ <span class='kw'>end</span>
864
+ <span class='kw'>else</span>
865
+ <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>
866
+ <span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_range_key'>range_key</span> <span class='op'>?</span> <span class='lbracket'>[</span><span class='lbracket'>[</span><span class='id identifier rubyid_ids'>ids</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='id identifier rubyid_ids'>ids</span>
867
+ <span class='id identifier rubyid_batch_delete_item'>batch_delete_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span><span class='rparen'>)</span>
868
+ <span class='kw'>else</span>
869
+ <span class='id identifier rubyid_delete_item'>delete_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</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>
870
+ <span class='kw'>end</span>
871
+ <span class='kw'>end</span>
872
+ <span class='kw'>end</span></pre>
873
+ </td>
874
+ </tr>
875
+ </table>
876
+ </div>
877
+
878
+ <div class="method_details ">
879
+ <h3 class="signature " id="get_original_id_and_partition-instance_method">
880
+
881
+ - (<tt>String</tt>) <strong>get_original_id_and_partition</strong>(id)
882
+
883
+
884
+
885
+
886
+
887
+ </h3><div class="docstring">
888
+ <div class="discussion">
889
+ <p>Get original id (hash_key) and partiton number from a hash_key</p>
890
+
891
+
892
+ </div>
893
+ </div>
894
+ <div class="tags">
895
+ <p class="tag_title">Parameters:</p>
896
+ <ul class="param">
743
897
 
744
898
  <li>
745
899
 
900
+ <span class='name'>id</span>
746
901
 
747
902
 
903
+ <span class='type'>(<tt>String</tt>)</span>
748
904
 
749
-
750
- <div class='inline'><p>0.2.0</p>
905
+
906
+
907
+ &mdash;
908
+ <div class='inline'><p>the id or hash_key of a record, ex. xxxxx.13</p>
909
+ </div>
910
+
911
+ </li>
912
+
913
+ </ul>
914
+
915
+ <p class="tag_title">Returns:</p>
916
+ <ul class="return">
917
+
918
+ <li>
919
+
920
+
921
+ <span class='type'>(<tt>String</tt>, <tt>String</tt>)</span>
922
+
923
+
924
+
925
+ &mdash;
926
+ <div class='inline'><p>original_id and the partition number, ex original_id = xxxxx partition = 13</p>
751
927
  </div>
752
928
 
753
929
  </li>
@@ -760,27 +936,21 @@ to Dynamoid.</p>
760
936
  <pre class="lines">
761
937
 
762
938
 
763
- 98
764
- 99
765
- 100
766
- 101
767
- 102
768
- 103
769
- 104
770
- 105
771
- 106</pre>
939
+ 170
940
+ 171
941
+ 172
942
+ 173
943
+ 174
944
+ 175</pre>
772
945
  </td>
773
946
  <td>
774
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 98</span>
947
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 170</span>
775
948
 
776
- <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</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='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
777
- <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>
778
- <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Delete Item</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span> <span class='kw'>do</span>
779
- <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</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_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_delete_item'>delete_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rbrace'>}</span>
780
- <span class='kw'>end</span>
781
- <span class='kw'>else</span>
782
- <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Delete Item</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_delete_item'>delete_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</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><span class='rbrace'>}</span>
783
- <span class='kw'>end</span>
949
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_original_id_and_partition'>get_original_id_and_partition</span> <span class='id identifier rubyid_id'>id</span>
950
+ <span class='id identifier rubyid_partition'>partition</span> <span class='op'>=</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
951
+ <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_partition'>partition</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
952
+
953
+ <span class='kw'>return</span> <span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_partition'>partition</span>
784
954
  <span class='kw'>end</span></pre>
785
955
  </td>
786
956
  </tr>
@@ -788,15 +958,17 @@ to Dynamoid.</p>
788
958
  </div>
789
959
 
790
960
  <div class="method_details ">
791
- <p class="signature " id="id_with_partitions-instance_method">
961
+ <h3 class="signature " id="id_with_partitions-instance_method">
792
962
 
793
963
  - (<tt>Object</tt>) <strong>id_with_partitions</strong>(ids)
794
964
 
795
965
 
796
966
 
797
- </p><div class="docstring">
967
+
968
+
969
+ </h3><div class="docstring">
798
970
  <div class="discussion">
799
- <p>Takes a list of ids and returns them with partitioning added. If an array of arrays is passed, we assume the second key is the range key
971
+ <p>Takes a list of ids and returns them with partitioning added. If an array of arrays is passed, we assume the second key is the range key
800
972
  and pass it in unchanged.</p>
801
973
 
802
974
 
@@ -805,18 +977,22 @@ and pass it in unchanged.</p>
805
977
  <div class="tags">
806
978
 
807
979
  <div class="examples">
808
- <h3>Examples:</h3>
980
+ <p class="tag_title">Examples:</p>
809
981
 
810
- <h4><div class='inline'><p>Partition id 1</p>
811
- </div></h4>
812
- <pre class="example code"><span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_id_with_partitions'>id_with_partitions</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='rbracket'>]</span><span class='rparen'>)</span> <span class='comment'># ['1.0', '1.1', '1.2', ..., '1.199']</span></pre>
982
+
983
+ <p class="example_title"><div class='inline'><p>Partition id 1</p>
984
+ </div></p>
985
+
986
+ <pre class="example code"><code><span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_id_with_partitions'>id_with_partitions</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='rbracket'>]</span><span class='rparen'>)</span> <span class='comment'># ['1.0', '1.1', '1.2', ..., '1.199']</span></code></pre>
813
987
 
814
- <h4><div class='inline'><p>Partition id 1 and range_key 1.0</p>
815
- </div></h4>
816
- <pre class="example code"><span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_id_with_partitions'>id_with_partitions</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='float'>1.0</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='comment'># [['1.0', 1.0], ['1.1', 1.0], ['1.2', 1.0], ..., ['1.199', 1.0]]</span></pre>
988
+
989
+ <p class="example_title"><div class='inline'><p>Partition id 1 and range_key 1.0</p>
990
+ </div></p>
991
+
992
+ <pre class="example code"><code><span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_id_with_partitions'>id_with_partitions</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='float'>1.0</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='comment'># [['1.0', 1.0], ['1.1', 1.0], ['1.2', 1.0], ..., ['1.199', 1.0]]</span></code></pre>
817
993
 
818
994
  </div>
819
- <h3>Parameters:</h3>
995
+ <p class="tag_title">Parameters:</p>
820
996
  <ul class="param">
821
997
 
822
998
  <li>
@@ -836,7 +1012,7 @@ and pass it in unchanged.</p>
836
1012
 
837
1013
  </ul>
838
1014
 
839
- <h3>Since:</h3>
1015
+ <p class="tag_title">Since:</p>
840
1016
  <ul class="since">
841
1017
 
842
1018
  <li>
@@ -858,12 +1034,12 @@ and pass it in unchanged.</p>
858
1034
  <pre class="lines">
859
1035
 
860
1036
 
861
- 143
862
- 144
863
- 145</pre>
1037
+ 161
1038
+ 162
1039
+ 163</pre>
864
1040
  </td>
865
1041
  <td>
866
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 143</span>
1042
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 161</span>
867
1043
 
868
1044
  <span class='kw'>def</span> <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span>
869
1045
  <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</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_id'>id</span><span class='op'>|</span> <span class='lparen'>(</span><span class='int'>0</span><span class='op'>...</span><span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_partition_size'>partition_size</span><span class='rparen'>)</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_n'>n</span><span class='op'>|</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='rbrace'>}</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_n'>n</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='rbrace'>}</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_n'>n</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rbrace'>}</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span>
@@ -874,24 +1050,246 @@ and pass it in unchanged.</p>
874
1050
  </div>
875
1051
 
876
1052
  <div class="method_details ">
877
- <p class="signature " id="read-instance_method">
1053
+ <h3 class="signature " id="query-instance_method">
1054
+
1055
+ - (<tt>Array</tt>) <strong>query</strong>(table_name, opts = {})
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+ </h3><div class="docstring">
1062
+ <div class="discussion">
1063
+ <p>Query the DynamoDB table. This employs DynamoDB's indexes so is generally faster than scanning, but is
1064
+ only really useful for range queries, since it can only find by one hash key at once. Only provide
1065
+ one range key to the hash. If paritioning is on, will run a query for every parition and join the results</p>
1066
+
1067
+
1068
+ </div>
1069
+ </div>
1070
+ <div class="tags">
1071
+ <p class="tag_title">Parameters:</p>
1072
+ <ul class="param">
1073
+
1074
+ <li>
1075
+
1076
+ <span class='name'>table_name</span>
1077
+
1078
+
1079
+ <span class='type'>(<tt>String</tt>)</span>
1080
+
1081
+
1082
+
1083
+ &mdash;
1084
+ <div class='inline'><p>the name of the table</p>
1085
+ </div>
1086
+
1087
+ </li>
1088
+
1089
+ <li>
1090
+
1091
+ <span class='name'>opts</span>
1092
+
1093
+
1094
+ <span class='type'>(<tt>Hash</tt>)</span>
1095
+
1096
+
1097
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1098
+
1099
+
1100
+ &mdash;
1101
+ <div class='inline'><p>the options to query the table with</p>
1102
+ </div>
1103
+
1104
+ </li>
1105
+
1106
+ </ul>
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+ <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
1114
+ <ul class="option">
1115
+
1116
+ <li>
1117
+ <span class="name">:hash_value</span>
1118
+ <span class="type">(<tt>String</tt>)</span>
1119
+ <span class="default">
1120
+
1121
+ </span>
1122
+
1123
+ &mdash; <div class='inline'><p>the value of the hash key to find</p>
1124
+ </div>
1125
+
1126
+ </li>
1127
+
1128
+ <li>
1129
+ <span class="name">:range_value</span>
1130
+ <span class="type">(<tt>Range</tt>)</span>
1131
+ <span class="default">
1132
+
1133
+ </span>
1134
+
1135
+ &mdash; <div class='inline'><p>find the range key within this range</p>
1136
+ </div>
1137
+
1138
+ </li>
1139
+
1140
+ <li>
1141
+ <span class="name">:range_greater_than</span>
1142
+ <span class="type">(<tt>Number</tt>)</span>
1143
+ <span class="default">
1144
+
1145
+ </span>
1146
+
1147
+ &mdash; <div class='inline'><p>find range keys greater than this</p>
1148
+ </div>
1149
+
1150
+ </li>
1151
+
1152
+ <li>
1153
+ <span class="name">:range_less_than</span>
1154
+ <span class="type">(<tt>Number</tt>)</span>
1155
+ <span class="default">
1156
+
1157
+ </span>
1158
+
1159
+ &mdash; <div class='inline'><p>find range keys less than this</p>
1160
+ </div>
1161
+
1162
+ </li>
1163
+
1164
+ <li>
1165
+ <span class="name">:range_gte</span>
1166
+ <span class="type">(<tt>Number</tt>)</span>
1167
+ <span class="default">
1168
+
1169
+ </span>
1170
+
1171
+ &mdash; <div class='inline'><p>find range keys greater than or equal to this</p>
1172
+ </div>
1173
+
1174
+ </li>
1175
+
1176
+ <li>
1177
+ <span class="name">:range_lte</span>
1178
+ <span class="type">(<tt>Number</tt>)</span>
1179
+ <span class="default">
1180
+
1181
+ </span>
1182
+
1183
+ &mdash; <div class='inline'><p>find range keys less than or equal to this</p>
1184
+ </div>
1185
+
1186
+ </li>
1187
+
1188
+ </ul>
1189
+
1190
+
1191
+ <p class="tag_title">Returns:</p>
1192
+ <ul class="return">
1193
+
1194
+ <li>
1195
+
1196
+
1197
+ <span class='type'>(<tt>Array</tt>)</span>
1198
+
1199
+
1200
+
1201
+ &mdash;
1202
+ <div class='inline'><p>an array of all matching items</p>
1203
+ </div>
1204
+
1205
+ </li>
1206
+
1207
+ </ul>
1208
+
1209
+ </div><table class="source_code">
1210
+ <tr>
1211
+ <td>
1212
+ <pre class="lines">
1213
+
1214
+
1215
+ 242
1216
+ 243
1217
+ 244
1218
+ 245
1219
+ 246
1220
+ 247
1221
+ 248
1222
+ 249
1223
+ 250
1224
+ 251
1225
+ 252
1226
+ 253
1227
+ 254
1228
+ 255
1229
+ 256
1230
+ 257
1231
+ 258
1232
+ 259
1233
+ 260
1234
+ 261
1235
+ 262
1236
+ 263
1237
+ 264
1238
+ 265</pre>
1239
+ </td>
1240
+ <td>
1241
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 242</span>
1242
+
1243
+ <span class='kw'>def</span> <span class='id identifier rubyid_query'>query</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</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>
1244
+
1245
+ <span class='kw'>unless</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>
1246
+ <span class='comment'>#no paritioning? just pass to the standard query method
1247
+ </span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='op'>::</span><span class='const'>AwsSdk</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
1248
+ <span class='kw'>else</span>
1249
+ <span class='comment'>#get all the hash_values that could be possible
1250
+ </span> <span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:hash_value</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1251
+
1252
+ <span class='comment'>#lets not overwrite with the original options
1253
+ </span> <span class='id identifier rubyid_modified_options'>modified_options</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_clone'>clone</span>
1254
+ <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1255
+
1256
+ <span class='comment'>#loop and query on each of the partition ids
1257
+ </span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_id'>id</span><span class='op'>|</span>
1258
+ <span class='id identifier rubyid_modified_options'>modified_options</span><span class='lbracket'>[</span><span class='symbol'>:hash_value</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_id'>id</span>
1259
+
1260
+ <span class='id identifier rubyid_query_result'>query_result</span> <span class='op'>=</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='op'>::</span><span class='const'>AwsSdk</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_modified_options'>modified_options</span><span class='rparen'>)</span>
1261
+ <span class='id identifier rubyid_results'>results</span> <span class='op'>+=</span> <span class='id identifier rubyid_query_result'>query_result</span><span class='period'>.</span><span class='id identifier rubyid_inject'>inject</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_array'>array</span><span class='comma'>,</span> <span class='id identifier rubyid_result'>result</span><span class='op'>|</span> <span class='id identifier rubyid_array'>array</span> <span class='op'>+=</span> <span class='lbracket'>[</span><span class='id identifier rubyid_result'>result</span><span class='rbracket'>]</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_query_result'>query_result</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
1262
+ <span class='kw'>end</span>
1263
+
1264
+ <span class='id identifier rubyid_result_for_partition'>result_for_partition</span> <span class='id identifier rubyid_results'>results</span><span class='comma'>,</span> <span class='id identifier rubyid_table_name'>table_name</span>
1265
+ <span class='kw'>end</span>
1266
+ <span class='kw'>end</span></pre>
1267
+ </td>
1268
+ </tr>
1269
+ </table>
1270
+ </div>
1271
+
1272
+ <div class="method_details ">
1273
+ <h3 class="signature " id="read-instance_method">
878
1274
 
879
1275
  - (<tt>Object</tt>) <strong>read</strong>(table, ids, options = {})
880
1276
 
881
1277
 
882
1278
 
883
- </p><div class="docstring">
1279
+
1280
+
1281
+ </h3><div class="docstring">
884
1282
  <div class="discussion">
885
1283
  <p>Read one or many keys from the selected table. This method intelligently calls batch_get or get on the underlying adapter depending on
886
1284
  whether ids is a range or a single key: additionally, if partitioning is enabled, it batch_gets all keys in the partition space
887
- automatically. Finally, if a range key is present, it will also interpolate that into the ids so that the batch get will acquire the
1285
+ automatically. Finally, if a range key is present, it will also interpolate that into the ids so that the batch get will acquire the
888
1286
  correct record.</p>
889
1287
 
890
1288
 
891
1289
  </div>
892
1290
  </div>
893
1291
  <div class="tags">
894
- <h3>Parameters:</h3>
1292
+ <p class="tag_title">Parameters:</p>
895
1293
  <ul class="param">
896
1294
 
897
1295
  <li>
@@ -926,22 +1324,23 @@ correct record.</p>
926
1324
 
927
1325
  <li>
928
1326
 
929
- <span class='name'>range_key</span>
1327
+ <span class='name'>options:</span>
930
1328
 
931
1329
 
932
- <span class='type'>(<tt>Number</tt>)</span>
1330
+ <span class='type'>(<tt>Hash</tt>)</span>
933
1331
 
934
1332
 
935
1333
 
936
1334
  &mdash;
937
- <div class='inline'><p>the range key of the record</p>
1335
+ <div class='inline'><p>Passed to the underlying query. The :range_key option is required whenever the table has a range key,
1336
+ unless multiple ids are passed in and Dynamoid::Config.partitioning? is turned off.</p>
938
1337
  </div>
939
1338
 
940
1339
  </li>
941
1340
 
942
1341
  </ul>
943
1342
 
944
- <h3>Since:</h3>
1343
+ <p class="tag_title">Since:</p>
945
1344
  <ul class="since">
946
1345
 
947
1346
  <li>
@@ -963,8 +1362,6 @@ correct record.</p>
963
1362
  <pre class="lines">
964
1363
 
965
1364
 
966
- 70
967
- 71
968
1365
  72
969
1366
  73
970
1367
  74
@@ -982,28 +1379,34 @@ correct record.</p>
982
1379
  86
983
1380
  87
984
1381
  88
985
- 89</pre>
1382
+ 89
1383
+ 90
1384
+ 91
1385
+ 92
1386
+ 93</pre>
986
1387
  </td>
987
1388
  <td>
988
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 70</span>
1389
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 72</span>
989
1390
 
990
1391
  <span class='kw'>def</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</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='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
991
- <span class='id identifier rubyid_range_key'>range_key</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:range_key</span><span class='rbracket'>]</span>
1392
+ <span class='id identifier rubyid_range_key'>range_key</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:range_key</span><span class='rparen'>)</span>
1393
+
992
1394
  <span class='kw'>if</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:each</span><span class='rparen'>)</span>
993
1395
  <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_collect'>collect</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_range_key'>range_key</span> <span class='op'>?</span> <span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='id identifier rubyid_id'>id</span><span class='rbrace'>}</span>
994
1396
  <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>
995
- <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Partitioned Batch Get Item</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rbrace'>}</span>
996
- <span class='lbrace'>{</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_result_for_partition'>result_for_partition</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='lbracket'>[</span><span class='id identifier rubyid_table'>table</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1397
+ <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1398
+ <span class='lbrace'>{</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_result_for_partition'>result_for_partition</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='lbracket'>[</span><span class='id identifier rubyid_table'>table</span><span class='rbracket'>]</span><span class='comma'>,</span><span class='id identifier rubyid_table'>table</span><span class='rparen'>)</span><span class='rbrace'>}</span>
997
1399
  <span class='kw'>else</span>
998
- <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Batch Get Item</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1400
+ <span class='id identifier rubyid_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_ids'>ids</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
999
1401
  <span class='kw'>end</span>
1000
1402
  <span class='kw'>else</span>
1001
1403
  <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>
1002
1404
  <span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_range_key'>range_key</span> <span class='op'>?</span> <span class='lbracket'>[</span><span class='lbracket'>[</span><span class='id identifier rubyid_ids'>ids</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='id identifier rubyid_ids'>ids</span>
1003
- <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Partitioned Get Item</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1004
- <span class='id identifier rubyid_result_for_partition'>result_for_partition</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='lbracket'>[</span><span class='id identifier rubyid_table'>table</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1405
+ <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='id identifier rubyid_table'>table</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_id_with_partitions'>id_with_partitions</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1406
+ <span class='id identifier rubyid_result_for_partition'>result_for_partition</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='lbracket'>[</span><span class='id identifier rubyid_table'>table</span><span class='rbracket'>]</span><span class='comma'>,</span><span class='id identifier rubyid_table'>table</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1005
1407
  <span class='kw'>else</span>
1006
- <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Get Item</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_get_item'>get_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</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><span class='rbrace'>}</span>
1408
+ <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:range_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_range_key'>range_key</span> <span class='kw'>if</span> <span class='id identifier rubyid_range_key'>range_key</span>
1409
+ <span class='id identifier rubyid_get_item'>get_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</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>
1007
1410
  <span class='kw'>end</span>
1008
1411
  <span class='kw'>end</span>
1009
1412
  <span class='kw'>end</span></pre>
@@ -1013,13 +1416,15 @@ correct record.</p>
1013
1416
  </div>
1014
1417
 
1015
1418
  <div class="method_details ">
1016
- <p class="signature " id="reconnect!-instance_method">
1419
+ <h3 class="signature " id="reconnect!-instance_method">
1017
1420
 
1018
1421
  - (<tt>Object</tt>) <strong>reconnect!</strong>
1019
1422
 
1020
1423
 
1021
1424
 
1022
- </p><div class="docstring">
1425
+
1426
+
1427
+ </h3><div class="docstring">
1023
1428
  <div class="discussion">
1024
1429
  <p>Establishes a connection to the underyling adapter and caches all its tables for speedier future lookups. Issued when the adapter is first called.</p>
1025
1430
 
@@ -1028,7 +1433,7 @@ correct record.</p>
1028
1433
  </div>
1029
1434
  <div class="tags">
1030
1435
 
1031
- <h3>Since:</h3>
1436
+ <p class="tag_title">Since:</p>
1032
1437
  <ul class="since">
1033
1438
 
1034
1439
  <li>
@@ -1072,22 +1477,24 @@ correct record.</p>
1072
1477
  </div>
1073
1478
 
1074
1479
  <div class="method_details ">
1075
- <p class="signature " id="result_for_partition-instance_method">
1480
+ <h3 class="signature " id="result_for_partition-instance_method">
1076
1481
 
1077
- - (<tt>Object</tt>) <strong>result_for_partition</strong>(results)
1482
+ - (<tt>Object</tt>) <strong>result_for_partition</strong>(results, table_name)
1078
1483
 
1079
1484
 
1080
1485
 
1081
- </p><div class="docstring">
1486
+
1487
+
1488
+ </h3><div class="docstring">
1082
1489
  <div class="discussion">
1083
- <p>Takes an array of results that are partitioned, find the most recently updated one, and return only it. Compares each result by
1490
+ <p>Takes an array of query results that are partitioned, find the most recently updated ones that share an id and range_key, and return only the most recently updated. Compares each result by
1084
1491
  their id and updated_at attributes; if the updated_at is the greatest, then it must be the correct result.</p>
1085
1492
 
1086
1493
 
1087
1494
  </div>
1088
1495
  </div>
1089
1496
  <div class="tags">
1090
- <h3>Parameters:</h3>
1497
+ <p class="tag_title">Parameters:</p>
1091
1498
  <ul class="param">
1092
1499
 
1093
1500
  <li>
@@ -1105,9 +1512,24 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1105
1512
 
1106
1513
  </li>
1107
1514
 
1515
+ <li>
1516
+
1517
+ <span class='name'>table_name</span>
1518
+
1519
+
1520
+ <span class='type'>(<tt>String</tt>)</span>
1521
+
1522
+
1523
+
1524
+ &mdash;
1525
+ <div class='inline'><p>the name of the table</p>
1526
+ </div>
1527
+
1528
+ </li>
1529
+
1108
1530
  </ul>
1109
1531
 
1110
- <h3>Since:</h3>
1532
+ <p class="tag_title">Since:</p>
1111
1533
  <ul class="since">
1112
1534
 
1113
1535
  <li>
@@ -1129,33 +1551,77 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1129
1551
  <pre class="lines">
1130
1552
 
1131
1553
 
1132
- 153
1133
- 154
1134
- 155
1135
- 156
1136
- 157
1137
- 158
1138
- 159
1139
- 160
1140
- 161
1141
- 162
1142
- 163
1143
- 164</pre>
1554
+ 184
1555
+ 185
1556
+ 186
1557
+ 187
1558
+ 188
1559
+ 189
1560
+ 190
1561
+ 191
1562
+ 192
1563
+ 193
1564
+ 194
1565
+ 195
1566
+ 196
1567
+ 197
1568
+ 198
1569
+ 199
1570
+ 200
1571
+ 201
1572
+ 202
1573
+ 203
1574
+ 204
1575
+ 205
1576
+ 206
1577
+ 207
1578
+ 208
1579
+ 209
1580
+ 210
1581
+ 211
1582
+ 212
1583
+ 213
1584
+ 214
1585
+ 215
1586
+ 216
1587
+ 217</pre>
1144
1588
  </td>
1145
1589
  <td>
1146
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 153</span>
1147
-
1148
- <span class='kw'>def</span> <span class='id identifier rubyid_result_for_partition'>result_for_partition</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
1149
- <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span>
1150
- <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_result'>result</span><span class='op'>|</span>
1151
- <span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1152
- <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1153
- <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1154
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_id'>id</span>
1155
- <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_result'>result</span>
1590
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 184</span>
1591
+
1592
+ <span class='kw'>def</span> <span class='id identifier rubyid_result_for_partition'>result_for_partition</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='comma'>,</span> <span class='id identifier rubyid_table_name'>table_name</span><span class='rparen'>)</span>
1593
+ <span class='id identifier rubyid_table'>table</span> <span class='op'>=</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='op'>::</span><span class='const'>AwsSdk</span><span class='period'>.</span><span class='id identifier rubyid_get_table'>get_table</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rparen'>)</span>
1594
+
1595
+ <span class='kw'>if</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_range_key'>range_key</span>
1596
+ <span class='id identifier rubyid_range_key_name'>range_key_name</span> <span class='op'>=</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_range_key'>range_key</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
1597
+
1598
+ <span class='id identifier rubyid_final_hash'>final_hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1599
+
1600
+ <span class='id identifier rubyid_results'>results</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_record'>record</span><span class='op'>|</span>
1601
+ <span class='id identifier rubyid_test_record'>test_record</span> <span class='op'>=</span> <span class='id identifier rubyid_final_hash'>final_hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_record'>record</span><span class='lbracket'>[</span><span class='id identifier rubyid_range_key_name'>range_key_name</span><span class='rbracket'>]</span><span class='rbracket'>]</span>
1602
+
1603
+ <span class='kw'>if</span> <span class='id identifier rubyid_test_record'>test_record</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='lbracket'>[</span><span class='id identifier rubyid_range_key_name'>range_key_name</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_test_record'>test_record</span><span class='lbracket'>[</span><span class='id identifier rubyid_range_key_name'>range_key_name</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_test_record'>test_record</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
1604
+ <span class='comment'>#get ride of our partition and put it in the array with the range key
1605
+ </span> <span class='id identifier rubyid_record'>record</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_partition'>partition</span> <span class='op'>=</span> <span class='id identifier rubyid_get_original_id_and_partition'>get_original_id_and_partition</span> <span class='id identifier rubyid_record'>record</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span>
1606
+ <span class='id identifier rubyid_final_hash'>final_hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_record'>record</span><span class='lbracket'>[</span><span class='id identifier rubyid_range_key_name'>range_key_name</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_record'>record</span>
1156
1607
  <span class='kw'>end</span>
1157
1608
  <span class='kw'>end</span>
1158
- <span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span>
1609
+
1610
+ <span class='kw'>return</span> <span class='id identifier rubyid_final_hash'>final_hash</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span>
1611
+ <span class='kw'>else</span>
1612
+ <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span>
1613
+ <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_result'>result</span><span class='op'>|</span>
1614
+ <span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1615
+ <span class='comment'>#Need to find the value of id with out the . and partition number
1616
+ </span> <span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_partition'>partition</span> <span class='op'>=</span> <span class='id identifier rubyid_get_original_id_and_partition'>get_original_id_and_partition</span> <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span>
1617
+
1618
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1619
+ <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_id'>id</span>
1620
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_result'>result</span>
1621
+ <span class='kw'>end</span>
1622
+ <span class='kw'>end</span>
1623
+ <span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span>
1624
+ <span class='kw'>end</span>
1159
1625
  <span class='kw'>end</span></pre>
1160
1626
  </td>
1161
1627
  </tr>
@@ -1163,13 +1629,15 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1163
1629
  </div>
1164
1630
 
1165
1631
  <div class="method_details ">
1166
- <p class="signature " id="scan-instance_method">
1632
+ <h3 class="signature " id="scan-instance_method">
1167
1633
 
1168
1634
  - (<tt>Object</tt>) <strong>scan</strong>(table, query, opts = {})
1169
1635
 
1170
1636
 
1171
1637
 
1172
- </p><div class="docstring">
1638
+
1639
+
1640
+ </h3><div class="docstring">
1173
1641
  <div class="discussion">
1174
1642
  <p>Scans a table. Generally quite slow; try to avoid using scan if at all possible.</p>
1175
1643
 
@@ -1177,7 +1645,7 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1177
1645
  </div>
1178
1646
  </div>
1179
1647
  <div class="tags">
1180
- <h3>Parameters:</h3>
1648
+ <p class="tag_title">Parameters:</p>
1181
1649
  <ul class="param">
1182
1650
 
1183
1651
  <li>
@@ -1212,7 +1680,7 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1212
1680
 
1213
1681
  </ul>
1214
1682
 
1215
- <h3>Since:</h3>
1683
+ <p class="tag_title">Since:</p>
1216
1684
  <ul class="since">
1217
1685
 
1218
1686
  <li>
@@ -1234,24 +1702,24 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1234
1702
  <pre class="lines">
1235
1703
 
1236
1704
 
1237
- 114
1238
- 115
1239
- 116
1240
- 117
1241
- 118
1242
- 119
1243
- 120
1244
- 121</pre>
1705
+ 132
1706
+ 133
1707
+ 134
1708
+ 135
1709
+ 136
1710
+ 137
1711
+ 138
1712
+ 139</pre>
1245
1713
  </td>
1246
1714
  <td>
1247
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 114</span>
1715
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 132</span>
1248
1716
 
1249
1717
  <span class='kw'>def</span> <span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_query'>query</span><span class='comma'>,</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>
1250
1718
  <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>
1251
1719
  <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Scan</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_adapter'>adapter</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1252
- <span class='id identifier rubyid_result_for_partition'>result_for_partition</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
1720
+ <span class='id identifier rubyid_result_for_partition'>result_for_partition</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='comma'>,</span><span class='id identifier rubyid_table'>table</span><span class='rparen'>)</span>
1253
1721
  <span class='kw'>else</span>
1254
- <span class='id identifier rubyid_adapter'>adapter</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
1722
+ <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Scan</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_adapter'>adapter</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1255
1723
  <span class='kw'>end</span>
1256
1724
  <span class='kw'>end</span></pre>
1257
1725
  </td>
@@ -1260,13 +1728,15 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1260
1728
  </div>
1261
1729
 
1262
1730
  <div class="method_details ">
1263
- <p class="signature " id="write-instance_method">
1731
+ <h3 class="signature " id="write-instance_method">
1264
1732
 
1265
- - (<tt>Object</tt>) <strong>write</strong>(table, object)
1733
+ - (<tt>Object</tt>) <strong>write</strong>(table, object, options = nil)
1266
1734
 
1267
1735
 
1268
1736
 
1269
- </p><div class="docstring">
1737
+
1738
+
1739
+ </h3><div class="docstring">
1270
1740
  <div class="discussion">
1271
1741
  <p>Write an object to the adapter. Partition it to a randomly selected key first if necessary.</p>
1272
1742
 
@@ -1274,7 +1744,7 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1274
1744
  </div>
1275
1745
  </div>
1276
1746
  <div class="tags">
1277
- <h3>Parameters:</h3>
1747
+ <p class="tag_title">Parameters:</p>
1278
1748
  <ul class="param">
1279
1749
 
1280
1750
  <li>
@@ -1307,9 +1777,26 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1307
1777
 
1308
1778
  </li>
1309
1779
 
1780
+ <li>
1781
+
1782
+ <span class='name'>options</span>
1783
+
1784
+
1785
+ <span class='type'>(<tt>Hash</tt>)</span>
1786
+
1787
+
1788
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1789
+
1790
+
1791
+ &mdash;
1792
+ <div class='inline'><p>Options that are passed to the put_item call</p>
1793
+ </div>
1794
+
1795
+ </li>
1796
+
1310
1797
  </ul>
1311
1798
 
1312
- <h3>Returns:</h3>
1799
+ <p class="tag_title">Returns:</p>
1313
1800
  <ul class="return">
1314
1801
 
1315
1802
  <li>
@@ -1326,7 +1813,7 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1326
1813
  </li>
1327
1814
 
1328
1815
  </ul>
1329
- <h3>Since:</h3>
1816
+ <p class="tag_title">Since:</p>
1330
1817
  <ul class="since">
1331
1818
 
1332
1819
  <li>
@@ -1348,23 +1835,23 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1348
1835
  <pre class="lines">
1349
1836
 
1350
1837
 
1351
- 52
1352
1838
  53
1353
1839
  54
1354
1840
  55
1355
1841
  56
1356
1842
  57
1357
- 58</pre>
1843
+ 58
1844
+ 59</pre>
1358
1845
  </td>
1359
1846
  <td>
1360
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 52</span>
1847
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter.rb', line 53</span>
1361
1848
 
1362
- <span class='kw'>def</span> <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span>
1849
+ <span class='kw'>def</span> <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_object'>object</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1363
1850
  <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='op'>&amp;&amp;</span> <span class='id identifier rubyid_object'>object</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span>
1364
1851
  <span class='id identifier rubyid_object'>object</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_object'>object</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>.</span><span class='embexpr_beg'>#{</span><span class='const'>Random</span><span class='period'>.</span><span class='id identifier rubyid_rand'>rand</span><span class='lparen'>(</span><span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_partition_size'>partition_size</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1365
1852
  <span class='id identifier rubyid_object'>object</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
1366
1853
  <span class='kw'>end</span>
1367
- <span class='id identifier rubyid_benchmark'>benchmark</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Put Item</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='id identifier rubyid_put_item'>put_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1854
+ <span class='id identifier rubyid_put_item'>put_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='comma'>,</span> <span class='id identifier rubyid_object'>object</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1368
1855
  <span class='kw'>end</span></pre>
1369
1856
  </td>
1370
1857
  </tr>
@@ -1374,11 +1861,11 @@ their id and updated_at attributes; if the updated_at is the greatest, then it m
1374
1861
  </div>
1375
1862
 
1376
1863
  </div>
1377
-
1864
+
1378
1865
  <div id="footer">
1379
- Generated on Thu Apr 26 01:26:24 2012 by
1866
+ Generated on Thu Jun 27 21:59:10 2013 by
1380
1867
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1381
- 0.7.5 (ruby-1.9.3).
1868
+ 0.8.6.1 (ruby-1.9.3).
1382
1869
  </div>
1383
1870
 
1384
1871
  </body>