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::AwsSdk
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> &raquo; <span class='title'><span class='object_link'><a href="../Adapter.html" title="Dynamoid::Adapter (module)">Adapter</a></span></span>
38
36
  &raquo;
39
37
  <span class="title">AwsSdk</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::AwsSdk
60
67
 
61
68
 
@@ -127,7 +134,30 @@ More information is available at that Gem's Github page:
127
134
  <li class="public ">
128
135
  <span class="summary_signature">
129
136
 
130
- <a href="#batch_get_item-instance_method" title="#batch_get_item (instance method)">- (Hash) <strong>batch_get_item</strong>(options) </a>
137
+ <a href="#batch_delete_item-instance_method" title="#batch_delete_item (instance method)">- (Object) <strong>batch_delete_item</strong>(options) </a>
138
+
139
+
140
+
141
+ </span>
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+ <span class="summary_desc"><div class='inline'><p>Delete many items at once from DynamoDB.</p>
152
+ </div></span>
153
+
154
+ </li>
155
+
156
+
157
+ <li class="public ">
158
+ <span class="summary_signature">
159
+
160
+ <a href="#batch_get_item-instance_method" title="#batch_get_item (instance method)">- (Hash) <strong>batch_get_item</strong>(table_ids, options = {}) </a>
131
161
 
132
162
 
133
163
 
@@ -138,6 +168,7 @@ More information is available at that Gem's Github page:
138
168
 
139
169
 
140
170
 
171
+
141
172
 
142
173
 
143
174
  <span class="summary_desc"><div class='inline'><p>Get many items at once from DynamoDB.</p>
@@ -160,6 +191,7 @@ More information is available at that Gem's Github page:
160
191
 
161
192
 
162
193
 
194
+
163
195
 
164
196
 
165
197
  <span class="summary_desc"><div class='inline'><p>Establish the connection to DynamoDB.</p>
@@ -182,11 +214,35 @@ More information is available at that Gem's Github page:
182
214
 
183
215
 
184
216
 
217
+
185
218
 
186
219
 
187
220
  <span class="summary_desc"><div class='inline'><p>Return the established connection.</p>
188
221
  </div></span>
189
222
 
223
+ </li>
224
+
225
+
226
+ <li class="public ">
227
+ <span class="summary_signature">
228
+
229
+ <a href="#count-instance_method" title="#count (instance method)">- (Integer) <strong>count</strong>(table_name) </a>
230
+
231
+
232
+
233
+ </span>
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+ <span class="summary_desc"><div class='inline'><p>Number of items from a table.</p>
244
+ </div></span>
245
+
190
246
  </li>
191
247
 
192
248
 
@@ -204,6 +260,7 @@ More information is available at that Gem's Github page:
204
260
 
205
261
 
206
262
 
263
+
207
264
 
208
265
 
209
266
  <span class="summary_desc"><div class='inline'><p>Create a table on DynamoDB.</p>
@@ -226,6 +283,7 @@ More information is available at that Gem's Github page:
226
283
 
227
284
 
228
285
 
286
+
229
287
 
230
288
 
231
289
  <span class="summary_desc"><div class='inline'><p>Removes an item from DynamoDB.</p>
@@ -248,6 +306,7 @@ More information is available at that Gem's Github page:
248
306
 
249
307
 
250
308
 
309
+
251
310
 
252
311
 
253
312
  <span class="summary_desc"><div class='inline'><p>Deletes an entire table from DynamoDB.</p>
@@ -259,7 +318,7 @@ More information is available at that Gem's Github page:
259
318
  <li class="public ">
260
319
  <span class="summary_signature">
261
320
 
262
- <a href="#get_item-instance_method" title="#get_item (instance method)">- (Object) <strong>get_item</strong>(table_name, key, options = {}) </a>
321
+ <a href="#get_item-instance_method" title="#get_item (instance method)">- (Hash) <strong>get_item</strong>(table_name, key, options = {}) </a>
263
322
 
264
323
 
265
324
 
@@ -270,9 +329,11 @@ More information is available at that Gem's Github page:
270
329
 
271
330
 
272
331
 
332
+
273
333
 
274
334
 
275
- <span class="summary_desc"><div class='inline'></div></span>
335
+ <span class="summary_desc"><div class='inline'><p>Fetches an item from DynamoDB.</p>
336
+ </div></span>
276
337
 
277
338
  </li>
278
339
 
@@ -291,6 +352,7 @@ More information is available at that Gem's Github page:
291
352
 
292
353
 
293
354
 
355
+
294
356
 
295
357
 
296
358
  <span class="summary_desc"><div class='inline'></div></span>
@@ -312,6 +374,7 @@ More information is available at that Gem's Github page:
312
374
 
313
375
 
314
376
 
377
+
315
378
 
316
379
 
317
380
  <span class="summary_desc"><div class='inline'><p>List all tables on DynamoDB.</p>
@@ -323,7 +386,7 @@ More information is available at that Gem's Github page:
323
386
  <li class="public ">
324
387
  <span class="summary_signature">
325
388
 
326
- <a href="#put_item-instance_method" title="#put_item (instance method)">- (Object) <strong>put_item</strong>(table_name, object) </a>
389
+ <a href="#put_item-instance_method" title="#put_item (instance method)">- (Object) <strong>put_item</strong>(table_name, object, options = nil) </a>
327
390
 
328
391
 
329
392
 
@@ -334,6 +397,7 @@ More information is available at that Gem's Github page:
334
397
 
335
398
 
336
399
 
400
+
337
401
 
338
402
 
339
403
  <span class="summary_desc"><div class='inline'><p>Persists an item on DynamoDB.</p>
@@ -345,7 +409,7 @@ More information is available at that Gem's Github page:
345
409
  <li class="public ">
346
410
  <span class="summary_signature">
347
411
 
348
- <a href="#query-instance_method" title="#query (instance method)">- (Array) <strong>query</strong>(table_name, opts = {}) </a>
412
+ <a href="#query-instance_method" title="#query (instance method)">- (Enumerator) <strong>query</strong>(table_name, opts = {}) </a>
349
413
 
350
414
 
351
415
 
@@ -356,6 +420,7 @@ More information is available at that Gem's Github page:
356
420
 
357
421
 
358
422
 
423
+
359
424
 
360
425
 
361
426
  <span class="summary_desc"><div class='inline'><p>Query the DynamoDB table.</p>
@@ -367,7 +432,7 @@ More information is available at that Gem's Github page:
367
432
  <li class="public ">
368
433
  <span class="summary_signature">
369
434
 
370
- <a href="#scan-instance_method" title="#scan (instance method)">- (Array) <strong>scan</strong>(table_name, scan_hash, select_opts) </a>
435
+ <a href="#scan-instance_method" title="#scan (instance method)">- (Enumerator) <strong>scan</strong>(table_name, scan_hash, select_opts) </a>
371
436
 
372
437
 
373
438
 
@@ -378,6 +443,7 @@ More information is available at that Gem's Github page:
378
443
 
379
444
 
380
445
 
446
+
381
447
 
382
448
 
383
449
  <span class="summary_desc"><div class='inline'><p>Scan the DynamoDB table.</p>
@@ -400,6 +466,29 @@ More information is available at that Gem's Github page:
400
466
 
401
467
 
402
468
 
469
+
470
+
471
+
472
+ <span class="summary_desc"><div class='inline'></div></span>
473
+
474
+ </li>
475
+
476
+
477
+ <li class="public ">
478
+ <span class="summary_signature">
479
+
480
+ <a href="#update_item-instance_method" title="#update_item (instance method)">- (Object) <strong>update_item</strong>(table_name, key, options = {}, &amp;block) </a>
481
+
482
+
483
+
484
+ </span>
485
+
486
+
487
+
488
+
489
+
490
+
491
+
403
492
 
404
493
 
405
494
  <span class="summary_desc"><div class='inline'></div></span>
@@ -414,18 +503,23 @@ More information is available at that Gem's Github page:
414
503
 
415
504
  <div id="instance_method_details" class="method_details_list">
416
505
  <h2>Instance Method Details</h2>
417
-
506
+
418
507
 
419
508
  <div class="method_details first">
420
- <p class="signature first" id="batch_get_item-instance_method">
509
+ <h3 class="signature first" id="batch_delete_item-instance_method">
421
510
 
422
- - (<tt>Hash</tt>) <strong>batch_get_item</strong>(options)
511
+ - (<tt>Object</tt>) <strong>batch_delete_item</strong>(options)
423
512
 
424
513
 
425
514
 
426
- </p><div class="docstring">
515
+
516
+
517
+ </h3><div class="docstring">
427
518
  <div class="discussion">
428
- <p>Get many items at once from DynamoDB. More efficient than getting each item individually.</p>
519
+ <p>Delete many items at once from DynamoDB. More efficient than delete each item individually.</p>
520
+
521
+ <p>or
522
+ Dynamoid::Adapter::AwsSdk.batch_delete_item('table1' =&gt; [['hk1', 'rk2'], ['hk1', 'rk2']]]))</p>
429
523
 
430
524
 
431
525
  </div>
@@ -433,14 +527,16 @@ More information is available at that Gem's Github page:
433
527
  <div class="tags">
434
528
 
435
529
  <div class="examples">
436
- <h3>Examples:</h3>
530
+ <p class="tag_title">Examples:</p>
437
531
 
438
- <h4><div class='inline'><p>Retrieve IDs 1 and 2 from the table testtable</p>
439
- </div></h4>
440
- <pre class="example code"><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_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>table1</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</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='rbracket'>]</span><span class='rparen'>)</span></pre>
532
+
533
+ <p class="example_title"><div class='inline'><p>Delete IDs 1 and 2 from the table testtable</p>
534
+ </div></p>
535
+
536
+ <pre class="example code"><code><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_batch_delete_item'>batch_delete_item</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>table1</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</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='rbracket'>]</span><span class='rparen'>)</span></code></pre>
441
537
 
442
538
  </div>
443
- <h3>Parameters:</h3>
539
+ <p class="tag_title">Parameters:</p>
444
540
  <ul class="param">
445
541
 
446
542
  <li>
@@ -452,15 +548,135 @@ More information is available at that Gem's Github page:
452
548
 
453
549
 
454
550
 
551
+ &mdash;
552
+ <div class='inline'><p>the hash of tables and IDs to delete</p>
553
+ </div>
554
+
555
+ </li>
556
+
557
+ </ul>
558
+
559
+ <p class="tag_title">Returns:</p>
560
+ <ul class="return">
561
+
562
+ <li>
563
+
564
+
565
+ <span class='type'></span>
566
+
567
+
568
+
569
+
570
+ <div class='inline'><p>nil</p>
571
+ </div>
572
+
573
+ </li>
574
+
575
+ </ul>
576
+
577
+ </div><table class="source_code">
578
+ <tr>
579
+ <td>
580
+ <pre class="lines">
581
+
582
+
583
+ 90
584
+ 91
585
+ 92
586
+ 93
587
+ 94
588
+ 95
589
+ 96
590
+ 97
591
+ 98
592
+ 99
593
+ 100</pre>
594
+ </td>
595
+ <td>
596
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 90</span>
597
+
598
+ <span class='kw'>def</span> <span class='id identifier rubyid_batch_delete_item'>batch_delete_item</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
599
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_all?'>all?</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rbrace'>}</span>
600
+ <span class='id identifier rubyid_options'>options</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_t'>t</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='op'>|</span>
601
+ <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_in_groups_of'>in_groups_of</span><span class='lparen'>(</span><span class='int'>25</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_group'>group</span><span class='op'>|</span>
602
+ <span class='id identifier rubyid_batch'>batch</span> <span class='op'>=</span> <span class='const'>AWS</span><span class='op'>::</span><span class='const'>DynamoDB</span><span class='op'>::</span><span class='const'>BatchWrite</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:config</span> <span class='op'>=&gt;</span> <span class='cvar'>@@connection</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
603
+ <span class='id identifier rubyid_batch'>batch</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='comma'>,</span><span class='id identifier rubyid_group'>group</span><span class='rparen'>)</span>
604
+ <span class='id identifier rubyid_batch'>batch</span><span class='period'>.</span><span class='id identifier rubyid_process!'>process!</span>
605
+ <span class='kw'>end</span>
606
+ <span class='kw'>end</span>
607
+ <span class='kw'>nil</span>
608
+ <span class='kw'>end</span></pre>
609
+ </td>
610
+ </tr>
611
+ </table>
612
+ </div>
613
+
614
+ <div class="method_details ">
615
+ <h3 class="signature " id="batch_get_item-instance_method">
616
+
617
+ - (<tt>Hash</tt>) <strong>batch_get_item</strong>(table_ids, options = {})
618
+
619
+
620
+
621
+
622
+
623
+ </h3><div class="docstring">
624
+ <div class="discussion">
625
+ <p>Get many items at once from DynamoDB. More efficient than getting each item individually.</p>
626
+
627
+
628
+ </div>
629
+ </div>
630
+ <div class="tags">
631
+
632
+ <div class="examples">
633
+ <p class="tag_title">Examples:</p>
634
+
635
+
636
+ <p class="example_title"><div class='inline'><p>Retrieve IDs 1 and 2 from the table testtable</p>
637
+ </div></p>
638
+
639
+ <pre class="example code"><code><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_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>table1</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</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='rbracket'>]</span><span class='rbrace'>}</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>
640
+
641
+ </div>
642
+ <p class="tag_title">Parameters:</p>
643
+ <ul class="param">
644
+
645
+ <li>
646
+
647
+ <span class='name'>table_ids</span>
648
+
649
+
650
+ <span class='type'>(<tt>Hash</tt>)</span>
651
+
652
+
653
+
455
654
  &mdash;
456
655
  <div class='inline'><p>the hash of tables and IDs to retrieve</p>
457
656
  </div>
458
657
 
459
658
  </li>
460
659
 
660
+ <li>
661
+
662
+ <span class='name'>options</span>
663
+
664
+
665
+ <span class='type'>(<tt>Hash</tt>)</span>
666
+
667
+
668
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
669
+
670
+
671
+ &mdash;
672
+ <div class='inline'><p>to be passed to underlying BatchGet call</p>
673
+ </div>
674
+
675
+ </li>
676
+
461
677
  </ul>
462
678
 
463
- <h3>Returns:</h3>
679
+ <p class="tag_title">Returns:</p>
464
680
  <ul class="return">
465
681
 
466
682
  <li>
@@ -477,7 +693,7 @@ More information is available at that Gem's Github page:
477
693
  </li>
478
694
 
479
695
  </ul>
480
- <h3>Since:</h3>
696
+ <p class="tag_title">Since:</p>
481
697
  <ul class="since">
482
698
 
483
699
  <li>
@@ -499,31 +715,31 @@ More information is available at that Gem's Github page:
499
715
  <pre class="lines">
500
716
 
501
717
 
502
- 43
503
- 44
504
- 45
505
- 46
506
- 47
507
- 48
508
- 49
509
- 50
510
- 51
511
- 52
512
- 53
513
- 54
514
- 55
515
- 56</pre>
718
+ 64
719
+ 65
720
+ 66
721
+ 67
722
+ 68
723
+ 69
724
+ 70
725
+ 71
726
+ 72
727
+ 73
728
+ 74
729
+ 75
730
+ 76
731
+ 77</pre>
516
732
  </td>
517
733
  <td>
518
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 43</span>
734
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 64</span>
519
735
 
520
- <span class='kw'>def</span> <span class='id identifier rubyid_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
736
+ <span class='kw'>def</span> <span class='id identifier rubyid_batch_get_item'>batch_get_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table_ids'>table_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>
521
737
  <span class='id identifier rubyid_hash'>hash</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_h'>h</span><span class='comma'>,</span> <span class='id identifier rubyid_k'>k</span><span class='op'>|</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='id identifier rubyid_k'>k</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rbrace'>}</span>
522
- <span class='kw'>return</span> <span class='id identifier rubyid_hash'>hash</span> <span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_all?'>all?</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rbrace'>}</span>
523
- <span class='id identifier rubyid_options'>options</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_t'>t</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='op'>|</span>
738
+ <span class='kw'>return</span> <span class='id identifier rubyid_hash'>hash</span> <span class='kw'>if</span> <span class='id identifier rubyid_table_ids'>table_ids</span><span class='period'>.</span><span class='id identifier rubyid_all?'>all?</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rbrace'>}</span>
739
+ <span class='id identifier rubyid_table_ids'>table_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_t'>t</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='op'>|</span>
524
740
  <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_in_groups_of'>in_groups_of</span><span class='lparen'>(</span><span class='int'>100</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_group'>group</span><span class='op'>|</span>
525
741
  <span class='id identifier rubyid_batch'>batch</span> <span class='op'>=</span> <span class='const'>AWS</span><span class='op'>::</span><span class='const'>DynamoDB</span><span class='op'>::</span><span class='const'>BatchGet</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:config</span> <span class='op'>=&gt;</span> <span class='cvar'>@@connection</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
526
- <span class='id identifier rubyid_batch'>batch</span><span class='period'>.</span><span class='id identifier rubyid_table'>table</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='comma'>,</span> <span class='symbol'>:all</span><span class='comma'>,</span> <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_group'>group</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_group'>group</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_group'>group</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
742
+ <span class='id identifier rubyid_batch'>batch</span><span class='period'>.</span><span class='id identifier rubyid_table'>table</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='comma'>,</span> <span class='symbol'>:all</span><span class='comma'>,</span> <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_group'>group</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_group'>group</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_group'>group</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
527
743
  <span class='id identifier rubyid_batch'>batch</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_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='op'>|</span>
528
744
  <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbracket'>]</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_symbolize_keys!'>symbolize_keys!</span>
529
745
  <span class='kw'>end</span>
@@ -537,22 +753,46 @@ More information is available at that Gem's Github page:
537
753
  </div>
538
754
 
539
755
  <div class="method_details ">
540
- <p class="signature " id="connect!-instance_method">
756
+ <h3 class="signature " id="connect!-instance_method">
541
757
 
542
758
  - (<tt>AWS::DynamoDB::Connection</tt>) <strong>connect!</strong>
543
759
 
544
760
 
545
761
 
546
- </p><div class="docstring">
762
+
763
+
764
+ </h3><div class="docstring">
547
765
  <div class="discussion">
548
766
  <p>Establish the connection to DynamoDB.</p>
549
767
 
768
+ <p>Call DynamoDB new, with no parameters.
769
+ Make sure the aws.yml file or aws.rb file, refer the link for more details.
770
+ <a href="https://github.com/amazonwebservices/aws-sdk-for-ruby">https://github.com/amazonwebservices/aws-sdk-for-ruby</a>
771
+ 1. Create config/aws.yml as follows:
772
+ Fill in your AWS Access Key ID and Secret Access Key
773
+ <a href="http://aws.amazon.com/security-credentials">http://aws.amazon.com/security-credentials</a>
774
+ access_key_id: REPLACE_WITH_ACCESS_KEY_ID
775
+ secret_access_key: REPLACE_WITH_SECRET_ACCESS_KEY
776
+ (or)
777
+ 2, Create config/initializers/aws.rb as follows:
778
+ load the libraries
779
+ require 'aws'
780
+ log requests using the default rails logger
781
+ AWS.config(:logger =&gt; Rails.logger)
782
+ load credentials from a file
783
+ config_path = File.expand_path(File.dirname(<strong>FILE</strong>)+&quot;/../aws.yml&quot;)
784
+ AWS.config(YAML.load(File.read(config_path)))
785
+ Additionally include any of the dynamodb paramters as needed
786
+ (eg: if you would like to change the dynamodb endpoint, then add the parameter in
787
+ the following paramter in the file aws.yml or aws.rb
788
+ dynamo_db_endpoint : dynamodb.ap-southeast-1.amazonaws.com)</p>
789
+
550
790
 
551
791
  </div>
552
792
  </div>
553
793
  <div class="tags">
554
794
 
555
- <h3>Returns:</h3>
795
+ <p class="tag_title">Returns:</p>
556
796
  <ul class="return">
557
797
 
558
798
  <li>
@@ -569,7 +809,7 @@ More information is available at that Gem's Github page:
569
809
  </li>
570
810
 
571
811
  </ul>
572
- <h3>Since:</h3>
812
+ <p class="tag_title">Since:</p>
573
813
  <ul class="since">
574
814
 
575
815
  <li>
@@ -591,15 +831,15 @@ More information is available at that Gem's Github page:
591
831
  <pre class="lines">
592
832
 
593
833
 
594
- 20
595
- 21
596
- 22</pre>
834
+ 40
835
+ 41
836
+ 42</pre>
597
837
  </td>
598
838
  <td>
599
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 20</span>
839
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 40</span>
600
840
 
601
841
  <span class='kw'>def</span> <span class='id identifier rubyid_connect!'>connect!</span>
602
- <span class='cvar'>@@connection</span> <span class='op'>=</span> <span class='const'>AWS</span><span class='op'>::</span><span class='const'>DynamoDB</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:access_key_id</span> <span class='op'>=&gt;</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_access_key'>access_key</span><span class='comma'>,</span> <span class='symbol'>:secret_access_key</span> <span class='op'>=&gt;</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_secret_key'>secret_key</span><span class='comma'>,</span> <span class='symbol'>:dynamo_db_endpoint</span> <span class='op'>=&gt;</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_endpoint'>endpoint</span><span class='rparen'>)</span>
842
+ <span class='cvar'>@@connection</span> <span class='op'>=</span> <span class='const'>AWS</span><span class='op'>::</span><span class='const'>DynamoDB</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
603
843
  <span class='kw'>end</span></pre>
604
844
  </td>
605
845
  </tr>
@@ -607,13 +847,15 @@ More information is available at that Gem's Github page:
607
847
  </div>
608
848
 
609
849
  <div class="method_details ">
610
- <p class="signature " id="connection-instance_method">
850
+ <h3 class="signature " id="connection-instance_method">
611
851
 
612
852
  - (<tt>AWS::DynamoDB::Connection</tt>) <strong>connection</strong>
613
853
 
614
854
 
615
855
 
616
- </p><div class="docstring">
856
+
857
+
858
+ </h3><div class="docstring">
617
859
  <div class="discussion">
618
860
  <p>Return the established connection.</p>
619
861
 
@@ -622,7 +864,7 @@ More information is available at that Gem's Github page:
622
864
  </div>
623
865
  <div class="tags">
624
866
 
625
- <h3>Returns:</h3>
867
+ <p class="tag_title">Returns:</p>
626
868
  <ul class="return">
627
869
 
628
870
  <li>
@@ -639,7 +881,7 @@ More information is available at that Gem's Github page:
639
881
  </li>
640
882
 
641
883
  </ul>
642
- <h3>Since:</h3>
884
+ <p class="tag_title">Since:</p>
643
885
  <ul class="since">
644
886
 
645
887
  <li>
@@ -661,12 +903,12 @@ More information is available at that Gem's Github page:
661
903
  <pre class="lines">
662
904
 
663
905
 
664
- 29
665
- 30
666
- 31</pre>
906
+ 49
907
+ 50
908
+ 51</pre>
667
909
  </td>
668
910
  <td>
669
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 29</span>
911
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 49</span>
670
912
 
671
913
  <span class='kw'>def</span> <span class='id identifier rubyid_connection'>connection</span>
672
914
  <span class='cvar'>@@connection</span>
@@ -677,13 +919,108 @@ More information is available at that Gem's Github page:
677
919
  </div>
678
920
 
679
921
  <div class="method_details ">
680
- <p class="signature " id="create_table-instance_method">
922
+ <h3 class="signature " id="count-instance_method">
923
+
924
+ - (<tt>Integer</tt>) <strong>count</strong>(table_name)
925
+
926
+
927
+
928
+
929
+
930
+ </h3><div class="docstring">
931
+ <div class="discussion">
932
+ <p>Number of items from a table</p>
933
+
934
+
935
+ </div>
936
+ </div>
937
+ <div class="tags">
938
+ <p class="tag_title">Parameters:</p>
939
+ <ul class="param">
940
+
941
+ <li>
942
+
943
+ <span class='name'>table_name</span>
944
+
945
+
946
+ <span class='type'>(<tt>String</tt>)</span>
947
+
948
+
949
+
950
+ &mdash;
951
+ <div class='inline'><p>the name of the table</p>
952
+ </div>
953
+
954
+ </li>
955
+
956
+ </ul>
957
+
958
+ <p class="tag_title">Returns:</p>
959
+ <ul class="return">
960
+
961
+ <li>
962
+
963
+
964
+ <span class='type'>(<tt>Integer</tt>)</span>
965
+
966
+
967
+
968
+ &mdash;
969
+ <div class='inline'><p>the number of items from a table</p>
970
+ </div>
971
+
972
+ </li>
973
+
974
+ </ul>
975
+ <p class="tag_title">Since:</p>
976
+ <ul class="since">
977
+
978
+ <li>
979
+
980
+
981
+
982
+
983
+
984
+ <div class='inline'><p>0.6.1</p>
985
+ </div>
986
+
987
+ </li>
988
+
989
+ </ul>
990
+
991
+ </div><table class="source_code">
992
+ <tr>
993
+ <td>
994
+ <pre class="lines">
995
+
996
+
997
+ 281
998
+ 282
999
+ 283
1000
+ 284</pre>
1001
+ </td>
1002
+ <td>
1003
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 281</span>
1004
+
1005
+ <span class='kw'>def</span> <span class='id identifier rubyid_count'>count</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rparen'>)</span>
1006
+ <span class='id identifier rubyid_table'>table</span> <span class='op'>=</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>
1007
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span>
1008
+ <span class='kw'>end</span></pre>
1009
+ </td>
1010
+ </tr>
1011
+ </table>
1012
+ </div>
1013
+
1014
+ <div class="method_details ">
1015
+ <h3 class="signature " id="create_table-instance_method">
681
1016
 
682
1017
  - (<tt>Object</tt>) <strong>create_table</strong>(table_name, key = :id, options = {})
683
1018
 
684
1019
 
685
1020
 
686
- </p><div class="docstring">
1021
+
1022
+
1023
+ </h3><div class="docstring">
687
1024
  <div class="discussion">
688
1025
  <p>Create a table on DynamoDB. This usually takes a long time to complete.</p>
689
1026
 
@@ -691,7 +1028,7 @@ More information is available at that Gem's Github page:
691
1028
  </div>
692
1029
  </div>
693
1030
  <div class="tags">
694
- <h3>Parameters:</h3>
1031
+ <p class="tag_title">Parameters:</p>
695
1032
  <ul class="param">
696
1033
 
697
1034
  <li>
@@ -745,7 +1082,7 @@ More information is available at that Gem's Github page:
745
1082
 
746
1083
  </ul>
747
1084
 
748
- <h3>Since:</h3>
1085
+ <p class="tag_title">Since:</p>
749
1086
  <ul class="since">
750
1087
 
751
1088
  <li>
@@ -767,19 +1104,21 @@ More information is available at that Gem's Github page:
767
1104
  <pre class="lines">
768
1105
 
769
1106
 
770
- 65
771
- 66
772
- 67
773
- 68
774
- 69
775
- 70
776
- 71
777
- 72</pre>
1107
+ 109
1108
+ 110
1109
+ 111
1110
+ 112
1111
+ 113
1112
+ 114
1113
+ 115
1114
+ 116
1115
+ 117</pre>
778
1116
  </td>
779
1117
  <td>
780
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 65</span>
1118
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 109</span>
781
1119
 
782
1120
  <span class='kw'>def</span> <span class='id identifier rubyid_create_table'>create_table</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span> <span class='op'>=</span> <span class='symbol'>: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>
1121
+ <span class='const'>Dynamoid</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Creating </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbrace'>}</span><span class='tstring_content'> table. This could take a while.</span><span class='tstring_end'>&quot;</span></span>
783
1122
  <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:hash_key</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span> <span class='op'>=&gt;</span> <span class='symbol'>:string</span><span class='rbrace'>}</span>
784
1123
  <span class='id identifier rubyid_read_capacity'>read_capacity</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:read_capacity</span><span class='rbracket'>]</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_read_capacity'>read_capacity</span>
785
1124
  <span class='id identifier rubyid_write_capacity'>write_capacity</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:write_capacity</span><span class='rbracket'>]</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_write_capacity'>write_capacity</span>
@@ -793,13 +1132,15 @@ More information is available at that Gem's Github page:
793
1132
  </div>
794
1133
 
795
1134
  <div class="method_details ">
796
- <p class="signature " id="delete_item-instance_method">
1135
+ <h3 class="signature " id="delete_item-instance_method">
797
1136
 
798
1137
  - (<tt>Object</tt>) <strong>delete_item</strong>(table_name, key, options = {})
799
1138
 
800
1139
 
801
1140
 
802
- </p><div class="docstring">
1141
+
1142
+
1143
+ </h3><div class="docstring">
803
1144
  <div class="discussion">
804
1145
  <p>Removes an item from DynamoDB.</p>
805
1146
 
@@ -807,7 +1148,7 @@ More information is available at that Gem's Github page:
807
1148
  </div>
808
1149
  </div>
809
1150
  <div class="tags">
810
- <h3>Parameters:</h3>
1151
+ <p class="tag_title">Parameters:</p>
811
1152
  <ul class="param">
812
1153
 
813
1154
  <li>
@@ -857,7 +1198,7 @@ More information is available at that Gem's Github page:
857
1198
 
858
1199
  </ul>
859
1200
 
860
- <h3>Since:</h3>
1201
+ <p class="tag_title">Since:</p>
861
1202
  <ul class="since">
862
1203
 
863
1204
  <li>
@@ -879,29 +1220,21 @@ More information is available at that Gem's Github page:
879
1220
  <pre class="lines">
880
1221
 
881
1222
 
882
- 81
883
- 82
884
- 83
885
- 84
886
- 85
887
- 86
888
- 87
889
- 88
890
- 89
891
- 90
892
- 91</pre>
1223
+ 126
1224
+ 127
1225
+ 128
1226
+ 129
1227
+ 130
1228
+ 131
1229
+ 132</pre>
893
1230
  </td>
894
1231
  <td>
895
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 81</span>
1232
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 126</span>
896
1233
 
897
1234
  <span class='kw'>def</span> <span class='id identifier rubyid_delete_item'>delete_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>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>
898
1235
  <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>
899
1236
  <span class='id identifier rubyid_table'>table</span> <span class='op'>=</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>
900
- <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_composite_key?'>composite_key?</span>
901
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rparen'>)</span>
902
- <span class='kw'>else</span>
903
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span>
904
- <span class='kw'>end</span>
1237
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rparen'>)</span>
905
1238
  <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='kw'>unless</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
906
1239
  <span class='kw'>true</span>
907
1240
  <span class='kw'>end</span></pre>
@@ -911,22 +1244,24 @@ More information is available at that Gem's Github page:
911
1244
  </div>
912
1245
 
913
1246
  <div class="method_details ">
914
- <p class="signature " id="delete_table-instance_method">
1247
+ <h3 class="signature " id="delete_table-instance_method">
915
1248
 
916
1249
  - (<tt>Object</tt>) <strong>delete_table</strong>(table_name)
917
1250
 
918
1251
 
919
1252
 
920
- </p><div class="docstring">
1253
+
1254
+
1255
+ </h3><div class="docstring">
921
1256
  <div class="discussion">
922
- <p>Deletes an entire table from DynamoDB. Only 10 tables can be in the deleting state at once,
1257
+ <p>Deletes an entire table from DynamoDB. Only 10 tables can be in the deleting state at once,
923
1258
  so if you have more this method may raise an exception.</p>
924
1259
 
925
1260
 
926
1261
  </div>
927
1262
  </div>
928
1263
  <div class="tags">
929
- <h3>Parameters:</h3>
1264
+ <p class="tag_title">Parameters:</p>
930
1265
  <ul class="param">
931
1266
 
932
1267
  <li>
@@ -946,7 +1281,7 @@ so if you have more this method may raise an exception.</p>
946
1281
 
947
1282
  </ul>
948
1283
 
949
- <h3>Since:</h3>
1284
+ <p class="tag_title">Since:</p>
950
1285
  <ul class="since">
951
1286
 
952
1287
  <li>
@@ -968,15 +1303,21 @@ so if you have more this method may raise an exception.</p>
968
1303
  <pre class="lines">
969
1304
 
970
1305
 
971
- 99
972
- 100
973
- 101</pre>
1306
+ 140
1307
+ 141
1308
+ 142
1309
+ 143
1310
+ 144
1311
+ 145</pre>
974
1312
  </td>
975
1313
  <td>
976
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 99</span>
1314
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 140</span>
977
1315
 
978
1316
  <span class='kw'>def</span> <span class='id identifier rubyid_delete_table'>delete_table</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rparen'>)</span>
979
- <span class='cvar'>@@connection</span><span class='period'>.</span><span class='id identifier rubyid_tables'>tables</span><span class='lbracket'>[</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span>
1317
+ <span class='const'>Dynamoid</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Deleting </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbrace'>}</span><span class='tstring_content'> table. This could take a while.</span><span class='tstring_end'>&quot;</span></span>
1318
+ <span class='id identifier rubyid_table'>table</span> <span class='op'>=</span> <span class='cvar'>@@connection</span><span class='period'>.</span><span class='id identifier rubyid_tables'>tables</span><span class='lbracket'>[</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbracket'>]</span>
1319
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span>
1320
+ <span class='id identifier rubyid_sleep'>sleep</span> <span class='float'>0.5</span> <span class='kw'>while</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_exists?'>exists?</span> <span class='op'>==</span> <span class='kw'>true</span>
980
1321
  <span class='kw'>end</span></pre>
981
1322
  </td>
982
1323
  </tr>
@@ -984,46 +1325,133 @@ so if you have more this method may raise an exception.</p>
984
1325
  </div>
985
1326
 
986
1327
  <div class="method_details ">
987
- <p class="signature " id="get_item-instance_method">
1328
+ <h3 class="signature " id="get_item-instance_method">
988
1329
 
989
- - (<tt>Object</tt>) <strong>get_item</strong>(table_name, key, options = {})
1330
+ - (<tt>Hash</tt>) <strong>get_item</strong>(table_name, key, options = {})
1331
+
1332
+
990
1333
 
991
1334
 
992
1335
 
993
- </p><table class="source_code">
1336
+ </h3><div class="docstring">
1337
+ <div class="discussion">
1338
+ <p>Fetches an item from DynamoDB.</p>
1339
+
1340
+
1341
+ </div>
1342
+ </div>
1343
+ <div class="tags">
1344
+ <p class="tag_title">Parameters:</p>
1345
+ <ul class="param">
1346
+
1347
+ <li>
1348
+
1349
+ <span class='name'>table_name</span>
1350
+
1351
+
1352
+ <span class='type'>(<tt>String</tt>)</span>
1353
+
1354
+
1355
+
1356
+ &mdash;
1357
+ <div class='inline'><p>the name of the table</p>
1358
+ </div>
1359
+
1360
+ </li>
1361
+
1362
+ <li>
1363
+
1364
+ <span class='name'>key</span>
1365
+
1366
+
1367
+ <span class='type'>(<tt>String</tt>)</span>
1368
+
1369
+
1370
+
1371
+ &mdash;
1372
+ <div class='inline'><p>the hash key of the item to find</p>
1373
+ </div>
1374
+
1375
+ </li>
1376
+
1377
+ <li>
1378
+
1379
+ <span class='name'>range_key</span>
1380
+
1381
+
1382
+ <span class='type'>(<tt>Number</tt>)</span>
1383
+
1384
+
1385
+
1386
+ &mdash;
1387
+ <div class='inline'><p>the range key of the item to find, required if the table has a composite key</p>
1388
+ </div>
1389
+
1390
+ </li>
1391
+
1392
+ </ul>
1393
+
1394
+ <p class="tag_title">Returns:</p>
1395
+ <ul class="return">
1396
+
1397
+ <li>
1398
+
1399
+
1400
+ <span class='type'>(<tt>Hash</tt>)</span>
1401
+
1402
+
1403
+
1404
+ &mdash;
1405
+ <div class='inline'><p>a hash representing the raw item in DynamoDB</p>
1406
+ </div>
1407
+
1408
+ </li>
1409
+
1410
+ </ul>
1411
+ <p class="tag_title">Since:</p>
1412
+ <ul class="since">
1413
+
1414
+ <li>
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+ <div class='inline'><p>0.2.0</p>
1421
+ </div>
1422
+
1423
+ </li>
1424
+
1425
+ </ul>
1426
+
1427
+ </div><table class="source_code">
994
1428
  <tr>
995
1429
  <td>
996
1430
  <pre class="lines">
997
1431
 
998
1432
 
999
- 117
1000
- 118
1001
- 119
1002
- 120
1003
- 121
1004
- 122
1005
- 123
1006
- 124
1007
- 125
1008
- 126
1009
- 127
1010
- 128
1011
- 129
1012
- 130
1013
- 131</pre>
1433
+ 158
1434
+ 159
1435
+ 160
1436
+ 161
1437
+ 162
1438
+ 163
1439
+ 164
1440
+ 165
1441
+ 166
1442
+ 167
1443
+ 168
1444
+ 169</pre>
1014
1445
  </td>
1015
1446
  <td>
1016
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 117</span>
1447
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 158</span>
1017
1448
 
1018
1449
  <span class='kw'>def</span> <span class='id identifier rubyid_get_item'>get_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>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>
1019
1450
  <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>
1020
1451
  <span class='id identifier rubyid_table'>table</span> <span class='op'>=</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>
1021
1452
 
1022
- <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_composite_key?'>composite_key?</span>
1023
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rparen'>)</span>
1024
- <span class='kw'>else</span>
1025
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span>
1026
- <span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1453
+ <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1454
+
1027
1455
  <span class='kw'>if</span> <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
1028
1456
  <span class='kw'>nil</span>
1029
1457
  <span class='kw'>else</span>
@@ -1036,17 +1464,19 @@ so if you have more this method may raise an exception.</p>
1036
1464
  </div>
1037
1465
 
1038
1466
  <div class="method_details ">
1039
- <p class="signature " id="get_table-instance_method">
1467
+ <h3 class="signature " id="get_table-instance_method">
1040
1468
 
1041
1469
  - (<tt>Object</tt>) <strong>get_table</strong>(table_name)
1042
1470
 
1043
1471
 
1044
1472
 
1045
- </p><div class="docstring">
1473
+
1474
+
1475
+ </h3><div class="docstring">
1046
1476
  <div class="discussion">
1047
1477
 
1048
1478
  <div class="note todo">
1049
- <strong>TODO:</strong>
1479
+ <strong>TODO:</strong>
1050
1480
  <div class='inline'><p>Add an UpdateTable method.</p>
1051
1481
  </div>
1052
1482
  </div>
@@ -1064,17 +1494,17 @@ so if you have more this method may raise an exception.</p>
1064
1494
  <pre class="lines">
1065
1495
 
1066
1496
 
1067
- 202
1068
- 203
1069
- 204
1070
- 205
1071
- 206
1072
- 207
1073
- 208
1074
- 209</pre>
1497
+ 261
1498
+ 262
1499
+ 263
1500
+ 264
1501
+ 265
1502
+ 266
1503
+ 267
1504
+ 268</pre>
1075
1505
  </td>
1076
1506
  <td>
1077
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 202</span>
1507
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 261</span>
1078
1508
 
1079
1509
  <span class='kw'>def</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>
1080
1510
  <span class='kw'>unless</span> <span class='id identifier rubyid_table'>table</span> <span class='op'>=</span> <span class='id identifier rubyid_table_cache'>table_cache</span><span class='lbracket'>[</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbracket'>]</span>
@@ -1090,13 +1520,15 @@ so if you have more this method may raise an exception.</p>
1090
1520
  </div>
1091
1521
 
1092
1522
  <div class="method_details ">
1093
- <p class="signature " id="list_tables-instance_method">
1523
+ <h3 class="signature " id="list_tables-instance_method">
1094
1524
 
1095
1525
  - (<tt>Object</tt>) <strong>list_tables</strong>
1096
1526
 
1097
1527
 
1098
1528
 
1099
- </p><div class="docstring">
1529
+
1530
+
1531
+ </h3><div class="docstring">
1100
1532
  <div class="discussion">
1101
1533
  <p>List all tables on DynamoDB.</p>
1102
1534
 
@@ -1105,7 +1537,7 @@ so if you have more this method may raise an exception.</p>
1105
1537
  </div>
1106
1538
  <div class="tags">
1107
1539
 
1108
- <h3>Since:</h3>
1540
+ <p class="tag_title">Since:</p>
1109
1541
  <ul class="since">
1110
1542
 
1111
1543
  <li>
@@ -1127,12 +1559,12 @@ so if you have more this method may raise an exception.</p>
1127
1559
  <pre class="lines">
1128
1560
 
1129
1561
 
1130
- 136
1131
- 137
1132
- 138</pre>
1562
+ 184
1563
+ 185
1564
+ 186</pre>
1133
1565
  </td>
1134
1566
  <td>
1135
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 136</span>
1567
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 184</span>
1136
1568
 
1137
1569
  <span class='kw'>def</span> <span class='id identifier rubyid_list_tables'>list_tables</span>
1138
1570
  <span class='cvar'>@@connection</span><span class='period'>.</span><span class='id identifier rubyid_tables'>tables</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:name</span><span class='rparen'>)</span>
@@ -1143,13 +1575,15 @@ so if you have more this method may raise an exception.</p>
1143
1575
  </div>
1144
1576
 
1145
1577
  <div class="method_details ">
1146
- <p class="signature " id="put_item-instance_method">
1578
+ <h3 class="signature " id="put_item-instance_method">
1147
1579
 
1148
- - (<tt>Object</tt>) <strong>put_item</strong>(table_name, object)
1580
+ - (<tt>Object</tt>) <strong>put_item</strong>(table_name, object, options = nil)
1149
1581
 
1150
1582
 
1151
1583
 
1152
- </p><div class="docstring">
1584
+
1585
+
1586
+ </h3><div class="docstring">
1153
1587
  <div class="discussion">
1154
1588
  <p>Persists an item on DynamoDB.</p>
1155
1589
 
@@ -1157,7 +1591,7 @@ so if you have more this method may raise an exception.</p>
1157
1591
  </div>
1158
1592
  </div>
1159
1593
  <div class="tags">
1160
- <h3>Parameters:</h3>
1594
+ <p class="tag_title">Parameters:</p>
1161
1595
  <ul class="param">
1162
1596
 
1163
1597
  <li>
@@ -1192,7 +1626,7 @@ so if you have more this method may raise an exception.</p>
1192
1626
 
1193
1627
  </ul>
1194
1628
 
1195
- <h3>Since:</h3>
1629
+ <p class="tag_title">Since:</p>
1196
1630
  <ul class="since">
1197
1631
 
1198
1632
  <li>
@@ -1214,17 +1648,27 @@ so if you have more this method may raise an exception.</p>
1214
1648
  <pre class="lines">
1215
1649
 
1216
1650
 
1217
- 146
1218
- 147
1219
- 148
1220
- 149</pre>
1651
+ 194
1652
+ 195
1653
+ 196
1654
+ 197
1655
+ 198
1656
+ 199
1657
+ 200
1658
+ 201
1659
+ 202</pre>
1221
1660
  </td>
1222
1661
  <td>
1223
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 146</span>
1662
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 194</span>
1224
1663
 
1225
- <span class='kw'>def</span> <span class='id identifier rubyid_put_item'>put_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span>
1664
+ <span class='kw'>def</span> <span class='id identifier rubyid_put_item'>put_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</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>
1226
1665
  <span class='id identifier rubyid_table'>table</span> <span class='op'>=</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>
1227
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_delete_if'>delete_if</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:empty?</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1666
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span>
1667
+ <span class='id identifier rubyid_object'>object</span><span class='period'>.</span><span class='id identifier rubyid_delete_if'>delete_if</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:empty?</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='comma'>,</span>
1668
+ <span class='id identifier rubyid_options'>options</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1669
+ <span class='rparen'>)</span>
1670
+ <span class='kw'>rescue</span> <span class='const'>AWS</span><span class='op'>::</span><span class='const'>DynamoDB</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>ConditionalCheckFailedException</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
1671
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>ConditionalCheckFailedException</span>
1228
1672
  <span class='kw'>end</span></pre>
1229
1673
  </td>
1230
1674
  </tr>
@@ -1232,23 +1676,25 @@ so if you have more this method may raise an exception.</p>
1232
1676
  </div>
1233
1677
 
1234
1678
  <div class="method_details ">
1235
- <p class="signature " id="query-instance_method">
1679
+ <h3 class="signature " id="query-instance_method">
1236
1680
 
1237
- - (<tt>Array</tt>) <strong>query</strong>(table_name, opts = {})
1681
+ - (<tt>Enumerator</tt>) <strong>query</strong>(table_name, opts = {})
1238
1682
 
1239
1683
 
1240
1684
 
1241
- </p><div class="docstring">
1685
+
1686
+
1687
+ </h3><div class="docstring">
1242
1688
  <div class="discussion">
1243
- <p>Query the DynamoDB table. This employs DynamoDB's indexes so is generally faster than scanning, but is
1244
- only really useful for range queries, since it can only find by one hash key at once. Only provide
1689
+ <p>Query the DynamoDB table. This employs DynamoDB's indexes so is generally faster than scanning, but is
1690
+ only really useful for range queries, since it can only find by one hash key at once. Only provide
1245
1691
  one range key to the hash.</p>
1246
1692
 
1247
1693
 
1248
1694
  </div>
1249
1695
  </div>
1250
1696
  <div class="tags">
1251
- <h3>Parameters:</h3>
1697
+ <p class="tag_title">Parameters:</p>
1252
1698
  <ul class="param">
1253
1699
 
1254
1700
  <li>
@@ -1290,7 +1736,7 @@ one range key to the hash.</p>
1290
1736
 
1291
1737
 
1292
1738
 
1293
- <h3>Options Hash (<tt>opts</tt>):</h3>
1739
+ <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
1294
1740
  <ul class="option">
1295
1741
 
1296
1742
  <li>
@@ -1299,8 +1745,10 @@ one range key to the hash.</p>
1299
1745
  <span class="default">
1300
1746
 
1301
1747
  </span>
1302
- &mdash; <div class='inline'><p>the value of the hash key to find</p>
1748
+
1749
+ &mdash; <div class='inline'><p>the value of the hash key to find</p>
1303
1750
  </div>
1751
+
1304
1752
  </li>
1305
1753
 
1306
1754
  <li>
@@ -1309,8 +1757,10 @@ one range key to the hash.</p>
1309
1757
  <span class="default">
1310
1758
 
1311
1759
  </span>
1312
- &mdash; <div class='inline'><p>find the range key within this range</p>
1760
+
1761
+ &mdash; <div class='inline'><p>find the range key within this range</p>
1313
1762
  </div>
1763
+
1314
1764
  </li>
1315
1765
 
1316
1766
  <li>
@@ -1319,8 +1769,10 @@ one range key to the hash.</p>
1319
1769
  <span class="default">
1320
1770
 
1321
1771
  </span>
1322
- &mdash; <div class='inline'><p>find range keys greater than this</p>
1772
+
1773
+ &mdash; <div class='inline'><p>find range keys greater than this</p>
1323
1774
  </div>
1775
+
1324
1776
  </li>
1325
1777
 
1326
1778
  <li>
@@ -1329,8 +1781,10 @@ one range key to the hash.</p>
1329
1781
  <span class="default">
1330
1782
 
1331
1783
  </span>
1332
- &mdash; <div class='inline'><p>find range keys less than this</p>
1784
+
1785
+ &mdash; <div class='inline'><p>find range keys less than this</p>
1333
1786
  </div>
1787
+
1334
1788
  </li>
1335
1789
 
1336
1790
  <li>
@@ -1339,8 +1793,10 @@ one range key to the hash.</p>
1339
1793
  <span class="default">
1340
1794
 
1341
1795
  </span>
1342
- &mdash; <div class='inline'><p>find range keys greater than or equal to this</p>
1796
+
1797
+ &mdash; <div class='inline'><p>find range keys greater than or equal to this</p>
1343
1798
  </div>
1799
+
1344
1800
  </li>
1345
1801
 
1346
1802
  <li>
@@ -1349,31 +1805,33 @@ one range key to the hash.</p>
1349
1805
  <span class="default">
1350
1806
 
1351
1807
  </span>
1352
- &mdash; <div class='inline'><p>find range keys less than or equal to this</p>
1808
+
1809
+ &mdash; <div class='inline'><p>find range keys less than or equal to this</p>
1353
1810
  </div>
1811
+
1354
1812
  </li>
1355
1813
 
1356
1814
  </ul>
1357
1815
 
1358
1816
 
1359
- <h3>Returns:</h3>
1817
+ <p class="tag_title">Returns:</p>
1360
1818
  <ul class="return">
1361
1819
 
1362
1820
  <li>
1363
1821
 
1364
1822
 
1365
- <span class='type'>(<tt>Array</tt>)</span>
1823
+ <span class='type'>(<tt>Enumerator</tt>)</span>
1366
1824
 
1367
1825
 
1368
1826
 
1369
1827
  &mdash;
1370
- <div class='inline'><p>an array of all matching items</p>
1828
+ <div class='inline'><p>an iterator of all matching items</p>
1371
1829
  </div>
1372
1830
 
1373
1831
  </li>
1374
1832
 
1375
1833
  </ul>
1376
- <h3>Since:</h3>
1834
+ <p class="tag_title">Since:</p>
1377
1835
  <ul class="since">
1378
1836
 
1379
1837
  <li>
@@ -1395,32 +1853,44 @@ one range key to the hash.</p>
1395
1853
  <pre class="lines">
1396
1854
 
1397
1855
 
1398
- 167
1399
- 168
1400
- 169
1401
- 170
1402
- 171
1403
- 172
1404
- 173
1405
- 174
1406
- 175
1407
- 176
1408
- 177
1409
- 178</pre>
1856
+ 220
1857
+ 221
1858
+ 222
1859
+ 223
1860
+ 224
1861
+ 225
1862
+ 226
1863
+ 227
1864
+ 228
1865
+ 229
1866
+ 230
1867
+ 231
1868
+ 232
1869
+ 233
1870
+ 234
1871
+ 235
1872
+ 236
1873
+ 237</pre>
1410
1874
  </td>
1411
1875
  <td>
1412
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 167</span>
1876
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 220</span>
1413
1877
 
1414
1878
  <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>
1415
1879
  <span class='id identifier rubyid_table'>table</span> <span class='op'>=</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>
1416
1880
 
1417
- <span class='id identifier rubyid_consistent_opts'>consistent_opts</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:consistent_read</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:consistent_read</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
1418
- <span class='kw'>if</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_composite_key?'>composite_key?</span>
1419
- <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1420
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</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_data'>data</span><span class='op'>|</span> <span class='id identifier rubyid_results'>results</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='lparen'>(</span><span class='id identifier rubyid_consistent_opts'>consistent_opts</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_symbolize_keys!'>symbolize_keys!</span><span class='rbrace'>}</span>
1421
- <span class='id identifier rubyid_results'>results</span>
1422
- <span class='kw'>else</span>
1423
- <span class='id identifier rubyid_get_item'>get_item</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='lbracket'>[</span><span class='symbol'>:hash_value</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1881
+ <span class='const'>Enumerator</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_yielder'>yielder</span><span class='op'>|</span>
1882
+ <span class='id identifier rubyid_consistent_opts'>consistent_opts</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:consistent_read</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:consistent_read</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
1883
+ <span class='kw'>if</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_composite_key?'>composite_key?</span>
1884
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</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_data'>data</span><span class='op'>|</span>
1885
+ <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span> <span class='symbol'>:select</span>
1886
+ <span class='id identifier rubyid_yielder'>yielder</span><span class='period'>.</span><span class='id identifier rubyid_yield'>yield</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_symbolize_keys!'>symbolize_keys!</span>
1887
+ <span class='kw'>else</span>
1888
+ <span class='id identifier rubyid_yielder'>yielder</span><span class='period'>.</span><span class='id identifier rubyid_yield'>yield</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span><span class='lparen'>(</span><span class='id identifier rubyid_consistent_opts'>consistent_opts</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_symbolize_keys!'>symbolize_keys!</span>
1889
+ <span class='kw'>end</span>
1890
+ <span class='kw'>end</span>
1891
+ <span class='kw'>else</span>
1892
+ <span class='id identifier rubyid_yielder'>yielder</span><span class='period'>.</span><span class='id identifier rubyid_yield'>yield</span> <span class='id identifier rubyid_get_item'>get_item</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='lbracket'>[</span><span class='symbol'>:hash_value</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1893
+ <span class='kw'>end</span>
1424
1894
  <span class='kw'>end</span>
1425
1895
  <span class='kw'>end</span></pre>
1426
1896
  </td>
@@ -1429,13 +1899,15 @@ one range key to the hash.</p>
1429
1899
  </div>
1430
1900
 
1431
1901
  <div class="method_details ">
1432
- <p class="signature " id="scan-instance_method">
1902
+ <h3 class="signature " id="scan-instance_method">
1433
1903
 
1434
- - (<tt>Array</tt>) <strong>scan</strong>(table_name, scan_hash, select_opts)
1904
+ - (<tt>Enumerator</tt>) <strong>scan</strong>(table_name, scan_hash, select_opts)
1435
1905
 
1436
1906
 
1437
1907
 
1438
- </p><div class="docstring">
1908
+
1909
+
1910
+ </h3><div class="docstring">
1439
1911
  <div class="discussion">
1440
1912
  <p>Scan the DynamoDB table. This is usually a very slow operation as it naively filters all data on
1441
1913
  the DynamoDB servers.</p>
@@ -1444,7 +1916,7 @@ the DynamoDB servers.</p>
1444
1916
  </div>
1445
1917
  </div>
1446
1918
  <div class="tags">
1447
- <h3>Parameters:</h3>
1919
+ <p class="tag_title">Parameters:</p>
1448
1920
  <ul class="param">
1449
1921
 
1450
1922
  <li>
@@ -1479,24 +1951,24 @@ the DynamoDB servers.</p>
1479
1951
 
1480
1952
  </ul>
1481
1953
 
1482
- <h3>Returns:</h3>
1954
+ <p class="tag_title">Returns:</p>
1483
1955
  <ul class="return">
1484
1956
 
1485
1957
  <li>
1486
1958
 
1487
1959
 
1488
- <span class='type'>(<tt>Array</tt>)</span>
1960
+ <span class='type'>(<tt>Enumerator</tt>)</span>
1489
1961
 
1490
1962
 
1491
1963
 
1492
1964
  &mdash;
1493
- <div class='inline'><p>an array of all matching items</p>
1965
+ <div class='inline'><p>an iterator of all matching items</p>
1494
1966
  </div>
1495
1967
 
1496
1968
  </li>
1497
1969
 
1498
1970
  </ul>
1499
- <h3>Since:</h3>
1971
+ <p class="tag_title">Since:</p>
1500
1972
  <ul class="since">
1501
1973
 
1502
1974
  <li>
@@ -1518,25 +1990,25 @@ the DynamoDB servers.</p>
1518
1990
  <pre class="lines">
1519
1991
 
1520
1992
 
1521
- 189
1522
- 190
1523
- 191
1524
- 192
1525
- 193
1526
- 194
1527
- 195
1528
- 196</pre>
1993
+ 248
1994
+ 249
1995
+ 250
1996
+ 251
1997
+ 252
1998
+ 253
1999
+ 254
2000
+ 255</pre>
1529
2001
  </td>
1530
2002
  <td>
1531
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 189</span>
2003
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 248</span>
1532
2004
 
1533
2005
  <span class='kw'>def</span> <span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_scan_hash'>scan_hash</span><span class='comma'>,</span> <span class='id identifier rubyid_select_opts'>select_opts</span><span class='rparen'>)</span>
1534
2006
  <span class='id identifier rubyid_table'>table</span> <span class='op'>=</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>
1535
- <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1536
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='id identifier rubyid_scan_hash'>scan_hash</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='id identifier rubyid_select_opts'>select_opts</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_data'>data</span><span class='op'>|</span>
1537
- <span class='id identifier rubyid_results'>results</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_symbolize_keys!'>symbolize_keys!</span>
2007
+ <span class='const'>Enumerator</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_yielder'>yielder</span><span class='op'>|</span>
2008
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='id identifier rubyid_scan_hash'>scan_hash</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='id identifier rubyid_select_opts'>select_opts</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_data'>data</span><span class='op'>|</span>
2009
+ <span class='id identifier rubyid_yielder'>yielder</span><span class='period'>.</span><span class='id identifier rubyid_yield'>yield</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_symbolize_keys!'>symbolize_keys!</span>
2010
+ <span class='kw'>end</span>
1538
2011
  <span class='kw'>end</span>
1539
- <span class='id identifier rubyid_results'>results</span>
1540
2012
  <span class='kw'>end</span></pre>
1541
2013
  </td>
1542
2014
  </tr>
@@ -1544,24 +2016,26 @@ the DynamoDB servers.</p>
1544
2016
  </div>
1545
2017
 
1546
2018
  <div class="method_details ">
1547
- <p class="signature " id="table_cache-instance_method">
2019
+ <h3 class="signature " id="table_cache-instance_method">
1548
2020
 
1549
2021
  - (<tt>Object</tt>) <strong>table_cache</strong>
1550
2022
 
1551
2023
 
1552
2024
 
1553
- </p><table class="source_code">
2025
+
2026
+
2027
+ </h3><table class="source_code">
1554
2028
  <tr>
1555
2029
  <td>
1556
2030
  <pre class="lines">
1557
2031
 
1558
2032
 
1559
- 211
1560
- 212
1561
- 213</pre>
2033
+ 270
2034
+ 271
2035
+ 272</pre>
1562
2036
  </td>
1563
2037
  <td>
1564
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 211</span>
2038
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 270</span>
1565
2039
 
1566
2040
  <span class='kw'>def</span> <span class='id identifier rubyid_table_cache'>table_cache</span>
1567
2041
  <span class='ivar'>@table_cache</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
@@ -1571,14 +2045,56 @@ the DynamoDB servers.</p>
1571
2045
  </table>
1572
2046
  </div>
1573
2047
 
1574
- </div>
2048
+ <div class="method_details ">
2049
+ <h3 class="signature " id="update_item-instance_method">
2050
+
2051
+ - (<tt>Object</tt>) <strong>update_item</strong>(table_name, key, options = {}, &amp;block)
2052
+
2053
+
2054
+
2055
+
2056
+
2057
+ </h3><table class="source_code">
2058
+ <tr>
2059
+ <td>
2060
+ <pre class="lines">
1575
2061
 
2062
+
2063
+ 171
2064
+ 172
2065
+ 173
2066
+ 174
2067
+ 175
2068
+ 176
2069
+ 177
2070
+ 178
2071
+ 179</pre>
2072
+ </td>
2073
+ <td>
2074
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 171</span>
2075
+
2076
+ <span class='kw'>def</span> <span class='id identifier rubyid_update_item'>update_item</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>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='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
2077
+ <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>
2078
+ <span class='id identifier rubyid_conditions'>conditions</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'>:conditions</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
2079
+ <span class='id identifier rubyid_table'>table</span> <span class='op'>=</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>
2080
+ <span class='id identifier rubyid_item'>item</span> <span class='op'>=</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rparen'>)</span>
2081
+ <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_conditions'>conditions</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='symbol'>:return</span> <span class='op'>=&gt;</span> <span class='symbol'>:all_new</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
2082
+ <span class='kw'>rescue</span> <span class='const'>AWS</span><span class='op'>::</span><span class='const'>DynamoDB</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>ConditionalCheckFailedException</span>
2083
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>ConditionalCheckFailedException</span>
2084
+ <span class='kw'>end</span></pre>
2085
+ </td>
2086
+ </tr>
2087
+ </table>
1576
2088
  </div>
1577
2089
 
2090
+ </div>
2091
+
2092
+ </div>
2093
+
1578
2094
  <div id="footer">
1579
- Generated on Thu Apr 26 01:26:26 2012 by
2095
+ Generated on Thu Jun 27 21:59:13 2013 by
1580
2096
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1581
- 0.7.5 (ruby-1.9.3).
2097
+ 0.8.6.1 (ruby-1.9.3).
1582
2098
  </div>
1583
2099
 
1584
2100
  </body>