dynamoid 0.7.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -24
  3. data/README.markdown +89 -73
  4. data/Rakefile +10 -36
  5. data/dynamoid.gemspec +56 -191
  6. data/lib/dynamoid.rb +6 -4
  7. data/lib/dynamoid/adapter.rb +64 -150
  8. data/lib/dynamoid/adapter_plugin/aws_sdk_v2.rb +579 -0
  9. data/lib/dynamoid/components.rb +0 -1
  10. data/lib/dynamoid/config.rb +2 -5
  11. data/lib/dynamoid/criteria.rb +1 -1
  12. data/lib/dynamoid/criteria/chain.rb +27 -140
  13. data/lib/dynamoid/document.rb +2 -2
  14. data/lib/dynamoid/errors.rb +30 -9
  15. data/lib/dynamoid/fields.rb +15 -3
  16. data/lib/dynamoid/finders.rb +7 -6
  17. data/lib/dynamoid/identity_map.rb +1 -5
  18. data/lib/dynamoid/persistence.rb +108 -93
  19. metadata +56 -229
  20. data/.document +0 -5
  21. data/.rspec +0 -1
  22. data/.travis.yml +0 -7
  23. data/Gemfile.lock +0 -81
  24. data/Gemfile_activemodel4 +0 -24
  25. data/Gemfile_activemodel4.lock +0 -88
  26. data/VERSION +0 -1
  27. data/doc/.nojekyll +0 -0
  28. data/doc/Dynamoid.html +0 -328
  29. data/doc/Dynamoid/Adapter.html +0 -1872
  30. data/doc/Dynamoid/Adapter/AwsSdk.html +0 -2101
  31. data/doc/Dynamoid/Adapter/Local.html +0 -1574
  32. data/doc/Dynamoid/Associations.html +0 -138
  33. data/doc/Dynamoid/Associations/Association.html +0 -847
  34. data/doc/Dynamoid/Associations/BelongsTo.html +0 -161
  35. data/doc/Dynamoid/Associations/ClassMethods.html +0 -766
  36. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +0 -167
  37. data/doc/Dynamoid/Associations/HasMany.html +0 -167
  38. data/doc/Dynamoid/Associations/HasOne.html +0 -161
  39. data/doc/Dynamoid/Associations/ManyAssociation.html +0 -1684
  40. data/doc/Dynamoid/Associations/SingleAssociation.html +0 -627
  41. data/doc/Dynamoid/Components.html +0 -242
  42. data/doc/Dynamoid/Config.html +0 -412
  43. data/doc/Dynamoid/Config/Options.html +0 -638
  44. data/doc/Dynamoid/Criteria.html +0 -138
  45. data/doc/Dynamoid/Criteria/Chain.html +0 -1471
  46. data/doc/Dynamoid/Criteria/ClassMethods.html +0 -105
  47. data/doc/Dynamoid/Dirty.html +0 -424
  48. data/doc/Dynamoid/Dirty/ClassMethods.html +0 -174
  49. data/doc/Dynamoid/Document.html +0 -1033
  50. data/doc/Dynamoid/Document/ClassMethods.html +0 -1116
  51. data/doc/Dynamoid/Errors.html +0 -125
  52. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +0 -141
  53. data/doc/Dynamoid/Errors/DocumentNotValid.html +0 -221
  54. data/doc/Dynamoid/Errors/Error.html +0 -137
  55. data/doc/Dynamoid/Errors/InvalidField.html +0 -141
  56. data/doc/Dynamoid/Errors/InvalidQuery.html +0 -131
  57. data/doc/Dynamoid/Errors/MissingRangeKey.html +0 -141
  58. data/doc/Dynamoid/Fields.html +0 -686
  59. data/doc/Dynamoid/Fields/ClassMethods.html +0 -438
  60. data/doc/Dynamoid/Finders.html +0 -135
  61. data/doc/Dynamoid/Finders/ClassMethods.html +0 -943
  62. data/doc/Dynamoid/IdentityMap.html +0 -492
  63. data/doc/Dynamoid/IdentityMap/ClassMethods.html +0 -534
  64. data/doc/Dynamoid/Indexes.html +0 -321
  65. data/doc/Dynamoid/Indexes/ClassMethods.html +0 -369
  66. data/doc/Dynamoid/Indexes/Index.html +0 -1142
  67. data/doc/Dynamoid/Middleware.html +0 -115
  68. data/doc/Dynamoid/Middleware/IdentityMap.html +0 -264
  69. data/doc/Dynamoid/Persistence.html +0 -892
  70. data/doc/Dynamoid/Persistence/ClassMethods.html +0 -836
  71. data/doc/Dynamoid/Validations.html +0 -415
  72. data/doc/_index.html +0 -506
  73. data/doc/class_list.html +0 -53
  74. data/doc/css/common.css +0 -1
  75. data/doc/css/full_list.css +0 -57
  76. data/doc/css/style.css +0 -338
  77. data/doc/file.LICENSE.html +0 -73
  78. data/doc/file.README.html +0 -416
  79. data/doc/file_list.html +0 -58
  80. data/doc/frames.html +0 -28
  81. data/doc/index.html +0 -416
  82. data/doc/js/app.js +0 -214
  83. data/doc/js/full_list.js +0 -178
  84. data/doc/js/jquery.js +0 -4
  85. data/doc/method_list.html +0 -1144
  86. data/doc/top-level-namespace.html +0 -112
  87. data/lib/dynamoid/adapter/aws_sdk.rb +0 -287
  88. data/lib/dynamoid/indexes.rb +0 -69
  89. data/lib/dynamoid/indexes/index.rb +0 -103
  90. data/spec/app/models/address.rb +0 -13
  91. data/spec/app/models/camel_case.rb +0 -34
  92. data/spec/app/models/car.rb +0 -6
  93. data/spec/app/models/magazine.rb +0 -11
  94. data/spec/app/models/message.rb +0 -9
  95. data/spec/app/models/nuclear_submarine.rb +0 -5
  96. data/spec/app/models/sponsor.rb +0 -8
  97. data/spec/app/models/subscription.rb +0 -12
  98. data/spec/app/models/tweet.rb +0 -12
  99. data/spec/app/models/user.rb +0 -26
  100. data/spec/app/models/vehicle.rb +0 -7
  101. data/spec/dynamoid/adapter/aws_sdk_spec.rb +0 -376
  102. data/spec/dynamoid/adapter_spec.rb +0 -155
  103. data/spec/dynamoid/associations/association_spec.rb +0 -194
  104. data/spec/dynamoid/associations/belongs_to_spec.rb +0 -71
  105. data/spec/dynamoid/associations/has_and_belongs_to_many_spec.rb +0 -47
  106. data/spec/dynamoid/associations/has_many_spec.rb +0 -42
  107. data/spec/dynamoid/associations/has_one_spec.rb +0 -45
  108. data/spec/dynamoid/associations_spec.rb +0 -16
  109. data/spec/dynamoid/config_spec.rb +0 -27
  110. data/spec/dynamoid/criteria/chain_spec.rb +0 -210
  111. data/spec/dynamoid/criteria_spec.rb +0 -75
  112. data/spec/dynamoid/dirty_spec.rb +0 -57
  113. data/spec/dynamoid/document_spec.rb +0 -180
  114. data/spec/dynamoid/fields_spec.rb +0 -156
  115. data/spec/dynamoid/finders_spec.rb +0 -147
  116. data/spec/dynamoid/identity_map_spec.rb +0 -45
  117. data/spec/dynamoid/indexes/index_spec.rb +0 -104
  118. data/spec/dynamoid/indexes_spec.rb +0 -25
  119. data/spec/dynamoid/persistence_spec.rb +0 -301
  120. data/spec/dynamoid/validations_spec.rb +0 -36
  121. data/spec/dynamoid_spec.rb +0 -9
  122. data/spec/spec_helper.rb +0 -55
  123. data/spec/support/with_partitioning.rb +0 -15
@@ -1,2101 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>
7
- Module: Dynamoid::Adapter::AwsSdk
8
-
9
- &mdash; Documentation by YARD 0.8.6.1
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '../../';
20
- framesUrl = "../../frames.html#!" + escape(window.location.href);
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="../../_index.html">Index (A)</a> &raquo;
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>
36
- &raquo;
37
- <span class="title">AwsSdk</span>
38
-
39
-
40
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
- </div>
42
-
43
- <div id="search">
44
-
45
- <a class="full_list_link" id="class_list_link"
46
- href="../../class_list.html">
47
- Class List
48
- </a>
49
-
50
- <a class="full_list_link" id="method_list_link"
51
- href="../../method_list.html">
52
- Method List
53
- </a>
54
-
55
- <a class="full_list_link" id="file_list_link"
56
- href="../../file_list.html">
57
- File List
58
- </a>
59
-
60
- </div>
61
- <div class="clear"></div>
62
- </div>
63
-
64
- <iframe id="search_frame"></iframe>
65
-
66
- <div id="content"><h1>Module: Dynamoid::Adapter::AwsSdk
67
-
68
-
69
-
70
- </h1>
71
-
72
- <dl class="box">
73
-
74
-
75
-
76
- <dt class="r1">Extended by:</dt>
77
- <dd class="r1"><span class='object_link'><a href="" title="Dynamoid::Adapter::AwsSdk (module)">AwsSdk</a></span></dd>
78
-
79
-
80
-
81
-
82
-
83
-
84
- <dt class="r2">Included in:</dt>
85
- <dd class="r2"><span class='object_link'><a href="" title="Dynamoid::Adapter::AwsSdk (module)">AwsSdk</a></span></dd>
86
-
87
-
88
-
89
- <dt class="r1 last">Defined in:</dt>
90
- <dd class="r1 last">lib/dynamoid/adapter/aws_sdk.rb</dd>
91
-
92
- </dl>
93
- <div class="clear"></div>
94
-
95
- <h2>Overview</h2><div class="docstring">
96
- <div class="discussion">
97
- <p>The AwsSdk adapter provides support for the AWS-SDK for Ruby gem.
98
- More information is available at that Gem's Github page:
99
- <a href="https://github.com/amazonwebservices/aws-sdk-for-ruby">https://github.com/amazonwebservices/aws-sdk-for-ruby</a></p>
100
-
101
-
102
- </div>
103
- </div>
104
- <div class="tags">
105
-
106
-
107
- </div>
108
- <h2>Constant Summary</h2>
109
-
110
- <dl class="constants">
111
-
112
- <dt id="connection-classvariable" class="">@@connection =
113
-
114
- </dt>
115
- <dd><pre class="code"><span class='kw'>nil</span></pre></dd>
116
-
117
- </dl>
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
- <h2>
128
- Instance Method Summary
129
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
130
- </h2>
131
-
132
- <ul class="summary">
133
-
134
- <li class="public ">
135
- <span class="summary_signature">
136
-
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>
161
-
162
-
163
-
164
- </span>
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
- <span class="summary_desc"><div class='inline'><p>Get many items at once from DynamoDB.</p>
175
- </div></span>
176
-
177
- </li>
178
-
179
-
180
- <li class="public ">
181
- <span class="summary_signature">
182
-
183
- <a href="#connect%21-instance_method" title="#connect! (instance method)">- (AWS::DynamoDB::Connection) <strong>connect!</strong> </a>
184
-
185
-
186
-
187
- </span>
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
- <span class="summary_desc"><div class='inline'><p>Establish the connection to DynamoDB.</p>
198
- </div></span>
199
-
200
- </li>
201
-
202
-
203
- <li class="public ">
204
- <span class="summary_signature">
205
-
206
- <a href="#connection-instance_method" title="#connection (instance method)">- (AWS::DynamoDB::Connection) <strong>connection</strong> </a>
207
-
208
-
209
-
210
- </span>
211
-
212
-
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
- <span class="summary_desc"><div class='inline'><p>Return the established connection.</p>
221
- </div></span>
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
-
246
- </li>
247
-
248
-
249
- <li class="public ">
250
- <span class="summary_signature">
251
-
252
- <a href="#create_table-instance_method" title="#create_table (instance method)">- (Object) <strong>create_table</strong>(table_name, key = :id, options = {}) </a>
253
-
254
-
255
-
256
- </span>
257
-
258
-
259
-
260
-
261
-
262
-
263
-
264
-
265
-
266
- <span class="summary_desc"><div class='inline'><p>Create a table on DynamoDB.</p>
267
- </div></span>
268
-
269
- </li>
270
-
271
-
272
- <li class="public ">
273
- <span class="summary_signature">
274
-
275
- <a href="#delete_item-instance_method" title="#delete_item (instance method)">- (Object) <strong>delete_item</strong>(table_name, key, options = {}) </a>
276
-
277
-
278
-
279
- </span>
280
-
281
-
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
- <span class="summary_desc"><div class='inline'><p>Removes an item from DynamoDB.</p>
290
- </div></span>
291
-
292
- </li>
293
-
294
-
295
- <li class="public ">
296
- <span class="summary_signature">
297
-
298
- <a href="#delete_table-instance_method" title="#delete_table (instance method)">- (Object) <strong>delete_table</strong>(table_name) </a>
299
-
300
-
301
-
302
- </span>
303
-
304
-
305
-
306
-
307
-
308
-
309
-
310
-
311
-
312
- <span class="summary_desc"><div class='inline'><p>Deletes an entire table from DynamoDB.</p>
313
- </div></span>
314
-
315
- </li>
316
-
317
-
318
- <li class="public ">
319
- <span class="summary_signature">
320
-
321
- <a href="#get_item-instance_method" title="#get_item (instance method)">- (Hash) <strong>get_item</strong>(table_name, key, options = {}) </a>
322
-
323
-
324
-
325
- </span>
326
-
327
-
328
-
329
-
330
-
331
-
332
-
333
-
334
-
335
- <span class="summary_desc"><div class='inline'><p>Fetches an item from DynamoDB.</p>
336
- </div></span>
337
-
338
- </li>
339
-
340
-
341
- <li class="public ">
342
- <span class="summary_signature">
343
-
344
- <a href="#get_table-instance_method" title="#get_table (instance method)">- (Object) <strong>get_table</strong>(table_name) </a>
345
-
346
-
347
-
348
- </span>
349
-
350
-
351
-
352
-
353
-
354
-
355
-
356
-
357
-
358
- <span class="summary_desc"><div class='inline'></div></span>
359
-
360
- </li>
361
-
362
-
363
- <li class="public ">
364
- <span class="summary_signature">
365
-
366
- <a href="#list_tables-instance_method" title="#list_tables (instance method)">- (Object) <strong>list_tables</strong> </a>
367
-
368
-
369
-
370
- </span>
371
-
372
-
373
-
374
-
375
-
376
-
377
-
378
-
379
-
380
- <span class="summary_desc"><div class='inline'><p>List all tables on DynamoDB.</p>
381
- </div></span>
382
-
383
- </li>
384
-
385
-
386
- <li class="public ">
387
- <span class="summary_signature">
388
-
389
- <a href="#put_item-instance_method" title="#put_item (instance method)">- (Object) <strong>put_item</strong>(table_name, object, options = nil) </a>
390
-
391
-
392
-
393
- </span>
394
-
395
-
396
-
397
-
398
-
399
-
400
-
401
-
402
-
403
- <span class="summary_desc"><div class='inline'><p>Persists an item on DynamoDB.</p>
404
- </div></span>
405
-
406
- </li>
407
-
408
-
409
- <li class="public ">
410
- <span class="summary_signature">
411
-
412
- <a href="#query-instance_method" title="#query (instance method)">- (Enumerator) <strong>query</strong>(table_name, opts = {}) </a>
413
-
414
-
415
-
416
- </span>
417
-
418
-
419
-
420
-
421
-
422
-
423
-
424
-
425
-
426
- <span class="summary_desc"><div class='inline'><p>Query the DynamoDB table.</p>
427
- </div></span>
428
-
429
- </li>
430
-
431
-
432
- <li class="public ">
433
- <span class="summary_signature">
434
-
435
- <a href="#scan-instance_method" title="#scan (instance method)">- (Enumerator) <strong>scan</strong>(table_name, scan_hash, select_opts) </a>
436
-
437
-
438
-
439
- </span>
440
-
441
-
442
-
443
-
444
-
445
-
446
-
447
-
448
-
449
- <span class="summary_desc"><div class='inline'><p>Scan the DynamoDB table.</p>
450
- </div></span>
451
-
452
- </li>
453
-
454
-
455
- <li class="public ">
456
- <span class="summary_signature">
457
-
458
- <a href="#table_cache-instance_method" title="#table_cache (instance method)">- (Object) <strong>table_cache</strong> </a>
459
-
460
-
461
-
462
- </span>
463
-
464
-
465
-
466
-
467
-
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
-
492
-
493
-
494
- <span class="summary_desc"><div class='inline'></div></span>
495
-
496
- </li>
497
-
498
-
499
- </ul>
500
-
501
-
502
-
503
-
504
- <div id="instance_method_details" class="method_details_list">
505
- <h2>Instance Method Details</h2>
506
-
507
-
508
- <div class="method_details first">
509
- <h3 class="signature first" id="batch_delete_item-instance_method">
510
-
511
- - (<tt>Object</tt>) <strong>batch_delete_item</strong>(options)
512
-
513
-
514
-
515
-
516
-
517
- </h3><div class="docstring">
518
- <div class="discussion">
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>
523
-
524
-
525
- </div>
526
- </div>
527
- <div class="tags">
528
-
529
- <div class="examples">
530
- <p class="tag_title">Examples:</p>
531
-
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>
537
-
538
- </div>
539
- <p class="tag_title">Parameters:</p>
540
- <ul class="param">
541
-
542
- <li>
543
-
544
- <span class='name'>options</span>
545
-
546
-
547
- <span class='type'>(<tt>Hash</tt>)</span>
548
-
549
-
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
-
654
- &mdash;
655
- <div class='inline'><p>the hash of tables and IDs to retrieve</p>
656
- </div>
657
-
658
- </li>
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
-
677
- </ul>
678
-
679
- <p class="tag_title">Returns:</p>
680
- <ul class="return">
681
-
682
- <li>
683
-
684
-
685
- <span class='type'>(<tt>Hash</tt>)</span>
686
-
687
-
688
-
689
- &mdash;
690
- <div class='inline'><p>a hash where keys are the table names and the values are the retrieved items</p>
691
- </div>
692
-
693
- </li>
694
-
695
- </ul>
696
- <p class="tag_title">Since:</p>
697
- <ul class="since">
698
-
699
- <li>
700
-
701
-
702
-
703
-
704
-
705
- <div class='inline'><p>0.2.0</p>
706
- </div>
707
-
708
- </li>
709
-
710
- </ul>
711
-
712
- </div><table class="source_code">
713
- <tr>
714
- <td>
715
- <pre class="lines">
716
-
717
-
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>
732
- </td>
733
- <td>
734
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 64</span>
735
-
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>
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>
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>
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>
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>
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>
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>
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>
745
- <span class='kw'>end</span>
746
- <span class='kw'>end</span>
747
- <span class='kw'>end</span>
748
- <span class='id identifier rubyid_hash'>hash</span>
749
- <span class='kw'>end</span></pre>
750
- </td>
751
- </tr>
752
- </table>
753
- </div>
754
-
755
- <div class="method_details ">
756
- <h3 class="signature " id="connect!-instance_method">
757
-
758
- - (<tt>AWS::DynamoDB::Connection</tt>) <strong>connect!</strong>
759
-
760
-
761
-
762
-
763
-
764
- </h3><div class="docstring">
765
- <div class="discussion">
766
- <p>Establish the connection to DynamoDB.</p>
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
-
790
-
791
- </div>
792
- </div>
793
- <div class="tags">
794
-
795
- <p class="tag_title">Returns:</p>
796
- <ul class="return">
797
-
798
- <li>
799
-
800
-
801
- <span class='type'>(<tt>AWS::DynamoDB::Connection</tt>)</span>
802
-
803
-
804
-
805
- &mdash;
806
- <div class='inline'><p>the raw DynamoDB connection</p>
807
- </div>
808
-
809
- </li>
810
-
811
- </ul>
812
- <p class="tag_title">Since:</p>
813
- <ul class="since">
814
-
815
- <li>
816
-
817
-
818
-
819
-
820
-
821
- <div class='inline'><p>0.2.0</p>
822
- </div>
823
-
824
- </li>
825
-
826
- </ul>
827
-
828
- </div><table class="source_code">
829
- <tr>
830
- <td>
831
- <pre class="lines">
832
-
833
-
834
- 40
835
- 41
836
- 42</pre>
837
- </td>
838
- <td>
839
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 40</span>
840
-
841
- <span class='kw'>def</span> <span class='id identifier rubyid_connect!'>connect!</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>
843
- <span class='kw'>end</span></pre>
844
- </td>
845
- </tr>
846
- </table>
847
- </div>
848
-
849
- <div class="method_details ">
850
- <h3 class="signature " id="connection-instance_method">
851
-
852
- - (<tt>AWS::DynamoDB::Connection</tt>) <strong>connection</strong>
853
-
854
-
855
-
856
-
857
-
858
- </h3><div class="docstring">
859
- <div class="discussion">
860
- <p>Return the established connection.</p>
861
-
862
-
863
- </div>
864
- </div>
865
- <div class="tags">
866
-
867
- <p class="tag_title">Returns:</p>
868
- <ul class="return">
869
-
870
- <li>
871
-
872
-
873
- <span class='type'>(<tt>AWS::DynamoDB::Connection</tt>)</span>
874
-
875
-
876
-
877
- &mdash;
878
- <div class='inline'><p>the raw DynamoDB connection</p>
879
- </div>
880
-
881
- </li>
882
-
883
- </ul>
884
- <p class="tag_title">Since:</p>
885
- <ul class="since">
886
-
887
- <li>
888
-
889
-
890
-
891
-
892
-
893
- <div class='inline'><p>0.2.0</p>
894
- </div>
895
-
896
- </li>
897
-
898
- </ul>
899
-
900
- </div><table class="source_code">
901
- <tr>
902
- <td>
903
- <pre class="lines">
904
-
905
-
906
- 49
907
- 50
908
- 51</pre>
909
- </td>
910
- <td>
911
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 49</span>
912
-
913
- <span class='kw'>def</span> <span class='id identifier rubyid_connection'>connection</span>
914
- <span class='cvar'>@@connection</span>
915
- <span class='kw'>end</span></pre>
916
- </td>
917
- </tr>
918
- </table>
919
- </div>
920
-
921
- <div class="method_details ">
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">
1016
-
1017
- - (<tt>Object</tt>) <strong>create_table</strong>(table_name, key = :id, options = {})
1018
-
1019
-
1020
-
1021
-
1022
-
1023
- </h3><div class="docstring">
1024
- <div class="discussion">
1025
- <p>Create a table on DynamoDB. This usually takes a long time to complete.</p>
1026
-
1027
-
1028
- </div>
1029
- </div>
1030
- <div class="tags">
1031
- <p class="tag_title">Parameters:</p>
1032
- <ul class="param">
1033
-
1034
- <li>
1035
-
1036
- <span class='name'>table_name</span>
1037
-
1038
-
1039
- <span class='type'>(<tt>String</tt>)</span>
1040
-
1041
-
1042
-
1043
- &mdash;
1044
- <div class='inline'><p>the name of the table to create</p>
1045
- </div>
1046
-
1047
- </li>
1048
-
1049
- <li>
1050
-
1051
- <span class='name'>key</span>
1052
-
1053
-
1054
- <span class='type'>(<tt>Symbol</tt>)</span>
1055
-
1056
-
1057
- <em class="default">(defaults to: <tt>:id</tt>)</em>
1058
-
1059
-
1060
- &mdash;
1061
- <div class='inline'><p>the table's primary key (defaults to :id)</p>
1062
- </div>
1063
-
1064
- </li>
1065
-
1066
- <li>
1067
-
1068
- <span class='name'>options</span>
1069
-
1070
-
1071
- <span class='type'>(<tt>Hash</tt>)</span>
1072
-
1073
-
1074
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1075
-
1076
-
1077
- &mdash;
1078
- <div class='inline'><p>provide a range_key here if you want one for the table</p>
1079
- </div>
1080
-
1081
- </li>
1082
-
1083
- </ul>
1084
-
1085
- <p class="tag_title">Since:</p>
1086
- <ul class="since">
1087
-
1088
- <li>
1089
-
1090
-
1091
-
1092
-
1093
-
1094
- <div class='inline'><p>0.2.0</p>
1095
- </div>
1096
-
1097
- </li>
1098
-
1099
- </ul>
1100
-
1101
- </div><table class="source_code">
1102
- <tr>
1103
- <td>
1104
- <pre class="lines">
1105
-
1106
-
1107
- 109
1108
- 110
1109
- 111
1110
- 112
1111
- 113
1112
- 114
1113
- 115
1114
- 116
1115
- 117</pre>
1116
- </td>
1117
- <td>
1118
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 109</span>
1119
-
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>
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>
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>
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>
1125
- <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='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_read_capacity'>read_capacity</span><span class='comma'>,</span> <span class='id identifier rubyid_write_capacity'>write_capacity</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1126
- <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_status'>status</span> <span class='op'>==</span> <span class='symbol'>:creating</span>
1127
- <span class='kw'>return</span> <span class='id identifier rubyid_table'>table</span>
1128
- <span class='kw'>end</span></pre>
1129
- </td>
1130
- </tr>
1131
- </table>
1132
- </div>
1133
-
1134
- <div class="method_details ">
1135
- <h3 class="signature " id="delete_item-instance_method">
1136
-
1137
- - (<tt>Object</tt>) <strong>delete_item</strong>(table_name, key, options = {})
1138
-
1139
-
1140
-
1141
-
1142
-
1143
- </h3><div class="docstring">
1144
- <div class="discussion">
1145
- <p>Removes an item from DynamoDB.</p>
1146
-
1147
-
1148
- </div>
1149
- </div>
1150
- <div class="tags">
1151
- <p class="tag_title">Parameters:</p>
1152
- <ul class="param">
1153
-
1154
- <li>
1155
-
1156
- <span class='name'>table_name</span>
1157
-
1158
-
1159
- <span class='type'>(<tt>String</tt>)</span>
1160
-
1161
-
1162
-
1163
- &mdash;
1164
- <div class='inline'><p>the name of the table</p>
1165
- </div>
1166
-
1167
- </li>
1168
-
1169
- <li>
1170
-
1171
- <span class='name'>key</span>
1172
-
1173
-
1174
- <span class='type'>(<tt>String</tt>)</span>
1175
-
1176
-
1177
-
1178
- &mdash;
1179
- <div class='inline'><p>the hash key of the item to delete</p>
1180
- </div>
1181
-
1182
- </li>
1183
-
1184
- <li>
1185
-
1186
- <span class='name'>range_key</span>
1187
-
1188
-
1189
- <span class='type'>(<tt>Number</tt>)</span>
1190
-
1191
-
1192
-
1193
- &mdash;
1194
- <div class='inline'><p>the range key of the item to delete, required if the table has a composite key</p>
1195
- </div>
1196
-
1197
- </li>
1198
-
1199
- </ul>
1200
-
1201
- <p class="tag_title">Since:</p>
1202
- <ul class="since">
1203
-
1204
- <li>
1205
-
1206
-
1207
-
1208
-
1209
-
1210
- <div class='inline'><p>0.2.0</p>
1211
- </div>
1212
-
1213
- </li>
1214
-
1215
- </ul>
1216
-
1217
- </div><table class="source_code">
1218
- <tr>
1219
- <td>
1220
- <pre class="lines">
1221
-
1222
-
1223
- 126
1224
- 127
1225
- 128
1226
- 129
1227
- 130
1228
- 131
1229
- 132</pre>
1230
- </td>
1231
- <td>
1232
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 126</span>
1233
-
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>
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>
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>
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>
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>
1239
- <span class='kw'>true</span>
1240
- <span class='kw'>end</span></pre>
1241
- </td>
1242
- </tr>
1243
- </table>
1244
- </div>
1245
-
1246
- <div class="method_details ">
1247
- <h3 class="signature " id="delete_table-instance_method">
1248
-
1249
- - (<tt>Object</tt>) <strong>delete_table</strong>(table_name)
1250
-
1251
-
1252
-
1253
-
1254
-
1255
- </h3><div class="docstring">
1256
- <div class="discussion">
1257
- <p>Deletes an entire table from DynamoDB. Only 10 tables can be in the deleting state at once,
1258
- so if you have more this method may raise an exception.</p>
1259
-
1260
-
1261
- </div>
1262
- </div>
1263
- <div class="tags">
1264
- <p class="tag_title">Parameters:</p>
1265
- <ul class="param">
1266
-
1267
- <li>
1268
-
1269
- <span class='name'>table_name</span>
1270
-
1271
-
1272
- <span class='type'>(<tt>String</tt>)</span>
1273
-
1274
-
1275
-
1276
- &mdash;
1277
- <div class='inline'><p>the name of the table to destroy</p>
1278
- </div>
1279
-
1280
- </li>
1281
-
1282
- </ul>
1283
-
1284
- <p class="tag_title">Since:</p>
1285
- <ul class="since">
1286
-
1287
- <li>
1288
-
1289
-
1290
-
1291
-
1292
-
1293
- <div class='inline'><p>0.2.0</p>
1294
- </div>
1295
-
1296
- </li>
1297
-
1298
- </ul>
1299
-
1300
- </div><table class="source_code">
1301
- <tr>
1302
- <td>
1303
- <pre class="lines">
1304
-
1305
-
1306
- 140
1307
- 141
1308
- 142
1309
- 143
1310
- 144
1311
- 145</pre>
1312
- </td>
1313
- <td>
1314
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 140</span>
1315
-
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>
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>
1321
- <span class='kw'>end</span></pre>
1322
- </td>
1323
- </tr>
1324
- </table>
1325
- </div>
1326
-
1327
- <div class="method_details ">
1328
- <h3 class="signature " id="get_item-instance_method">
1329
-
1330
- - (<tt>Hash</tt>) <strong>get_item</strong>(table_name, key, options = {})
1331
-
1332
-
1333
-
1334
-
1335
-
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">
1428
- <tr>
1429
- <td>
1430
- <pre class="lines">
1431
-
1432
-
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>
1445
- </td>
1446
- <td>
1447
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 158</span>
1448
-
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>
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>
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>
1452
-
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
-
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>
1456
- <span class='kw'>nil</span>
1457
- <span class='kw'>else</span>
1458
- <span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_symbolize_keys!'>symbolize_keys!</span>
1459
- <span class='kw'>end</span>
1460
- <span class='kw'>end</span></pre>
1461
- </td>
1462
- </tr>
1463
- </table>
1464
- </div>
1465
-
1466
- <div class="method_details ">
1467
- <h3 class="signature " id="get_table-instance_method">
1468
-
1469
- - (<tt>Object</tt>) <strong>get_table</strong>(table_name)
1470
-
1471
-
1472
-
1473
-
1474
-
1475
- </h3><div class="docstring">
1476
- <div class="discussion">
1477
-
1478
- <div class="note todo">
1479
- <strong>TODO:</strong>
1480
- <div class='inline'><p>Add an UpdateTable method.</p>
1481
- </div>
1482
- </div>
1483
-
1484
-
1485
-
1486
- </div>
1487
- </div>
1488
- <div class="tags">
1489
-
1490
-
1491
- </div><table class="source_code">
1492
- <tr>
1493
- <td>
1494
- <pre class="lines">
1495
-
1496
-
1497
- 261
1498
- 262
1499
- 263
1500
- 264
1501
- 265
1502
- 266
1503
- 267
1504
- 268</pre>
1505
- </td>
1506
- <td>
1507
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 261</span>
1508
-
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>
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>
1511
- <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>
1512
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_load_schema'>load_schema</span>
1513
- <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> <span class='op'>=</span> <span class='id identifier rubyid_table'>table</span>
1514
- <span class='kw'>end</span>
1515
- <span class='id identifier rubyid_table'>table</span>
1516
- <span class='kw'>end</span></pre>
1517
- </td>
1518
- </tr>
1519
- </table>
1520
- </div>
1521
-
1522
- <div class="method_details ">
1523
- <h3 class="signature " id="list_tables-instance_method">
1524
-
1525
- - (<tt>Object</tt>) <strong>list_tables</strong>
1526
-
1527
-
1528
-
1529
-
1530
-
1531
- </h3><div class="docstring">
1532
- <div class="discussion">
1533
- <p>List all tables on DynamoDB.</p>
1534
-
1535
-
1536
- </div>
1537
- </div>
1538
- <div class="tags">
1539
-
1540
- <p class="tag_title">Since:</p>
1541
- <ul class="since">
1542
-
1543
- <li>
1544
-
1545
-
1546
-
1547
-
1548
-
1549
- <div class='inline'><p>0.2.0</p>
1550
- </div>
1551
-
1552
- </li>
1553
-
1554
- </ul>
1555
-
1556
- </div><table class="source_code">
1557
- <tr>
1558
- <td>
1559
- <pre class="lines">
1560
-
1561
-
1562
- 184
1563
- 185
1564
- 186</pre>
1565
- </td>
1566
- <td>
1567
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 184</span>
1568
-
1569
- <span class='kw'>def</span> <span class='id identifier rubyid_list_tables'>list_tables</span>
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>
1571
- <span class='kw'>end</span></pre>
1572
- </td>
1573
- </tr>
1574
- </table>
1575
- </div>
1576
-
1577
- <div class="method_details ">
1578
- <h3 class="signature " id="put_item-instance_method">
1579
-
1580
- - (<tt>Object</tt>) <strong>put_item</strong>(table_name, object, options = nil)
1581
-
1582
-
1583
-
1584
-
1585
-
1586
- </h3><div class="docstring">
1587
- <div class="discussion">
1588
- <p>Persists an item on DynamoDB.</p>
1589
-
1590
-
1591
- </div>
1592
- </div>
1593
- <div class="tags">
1594
- <p class="tag_title">Parameters:</p>
1595
- <ul class="param">
1596
-
1597
- <li>
1598
-
1599
- <span class='name'>table_name</span>
1600
-
1601
-
1602
- <span class='type'>(<tt>String</tt>)</span>
1603
-
1604
-
1605
-
1606
- &mdash;
1607
- <div class='inline'><p>the name of the table</p>
1608
- </div>
1609
-
1610
- </li>
1611
-
1612
- <li>
1613
-
1614
- <span class='name'>object</span>
1615
-
1616
-
1617
- <span class='type'>(<tt>Object</tt>)</span>
1618
-
1619
-
1620
-
1621
- &mdash;
1622
- <div class='inline'><p>a hash or Dynamoid object to persist</p>
1623
- </div>
1624
-
1625
- </li>
1626
-
1627
- </ul>
1628
-
1629
- <p class="tag_title">Since:</p>
1630
- <ul class="since">
1631
-
1632
- <li>
1633
-
1634
-
1635
-
1636
-
1637
-
1638
- <div class='inline'><p>0.2.0</p>
1639
- </div>
1640
-
1641
- </li>
1642
-
1643
- </ul>
1644
-
1645
- </div><table class="source_code">
1646
- <tr>
1647
- <td>
1648
- <pre class="lines">
1649
-
1650
-
1651
- 194
1652
- 195
1653
- 196
1654
- 197
1655
- 198
1656
- 199
1657
- 200
1658
- 201
1659
- 202</pre>
1660
- </td>
1661
- <td>
1662
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 194</span>
1663
-
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>
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>
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>
1672
- <span class='kw'>end</span></pre>
1673
- </td>
1674
- </tr>
1675
- </table>
1676
- </div>
1677
-
1678
- <div class="method_details ">
1679
- <h3 class="signature " id="query-instance_method">
1680
-
1681
- - (<tt>Enumerator</tt>) <strong>query</strong>(table_name, opts = {})
1682
-
1683
-
1684
-
1685
-
1686
-
1687
- </h3><div class="docstring">
1688
- <div class="discussion">
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
1691
- one range key to the hash.</p>
1692
-
1693
-
1694
- </div>
1695
- </div>
1696
- <div class="tags">
1697
- <p class="tag_title">Parameters:</p>
1698
- <ul class="param">
1699
-
1700
- <li>
1701
-
1702
- <span class='name'>table_name</span>
1703
-
1704
-
1705
- <span class='type'>(<tt>String</tt>)</span>
1706
-
1707
-
1708
-
1709
- &mdash;
1710
- <div class='inline'><p>the name of the table</p>
1711
- </div>
1712
-
1713
- </li>
1714
-
1715
- <li>
1716
-
1717
- <span class='name'>opts</span>
1718
-
1719
-
1720
- <span class='type'>(<tt>Hash</tt>)</span>
1721
-
1722
-
1723
- <em class="default">(defaults to: <tt>{}</tt>)</em>
1724
-
1725
-
1726
- &mdash;
1727
- <div class='inline'><p>the options to query the table with</p>
1728
- </div>
1729
-
1730
- </li>
1731
-
1732
- </ul>
1733
-
1734
-
1735
-
1736
-
1737
-
1738
-
1739
- <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
1740
- <ul class="option">
1741
-
1742
- <li>
1743
- <span class="name">:hash_value</span>
1744
- <span class="type">(<tt>String</tt>)</span>
1745
- <span class="default">
1746
-
1747
- </span>
1748
-
1749
- &mdash; <div class='inline'><p>the value of the hash key to find</p>
1750
- </div>
1751
-
1752
- </li>
1753
-
1754
- <li>
1755
- <span class="name">:range_value</span>
1756
- <span class="type">(<tt>Range</tt>)</span>
1757
- <span class="default">
1758
-
1759
- </span>
1760
-
1761
- &mdash; <div class='inline'><p>find the range key within this range</p>
1762
- </div>
1763
-
1764
- </li>
1765
-
1766
- <li>
1767
- <span class="name">:range_greater_than</span>
1768
- <span class="type">(<tt>Number</tt>)</span>
1769
- <span class="default">
1770
-
1771
- </span>
1772
-
1773
- &mdash; <div class='inline'><p>find range keys greater than this</p>
1774
- </div>
1775
-
1776
- </li>
1777
-
1778
- <li>
1779
- <span class="name">:range_less_than</span>
1780
- <span class="type">(<tt>Number</tt>)</span>
1781
- <span class="default">
1782
-
1783
- </span>
1784
-
1785
- &mdash; <div class='inline'><p>find range keys less than this</p>
1786
- </div>
1787
-
1788
- </li>
1789
-
1790
- <li>
1791
- <span class="name">:range_gte</span>
1792
- <span class="type">(<tt>Number</tt>)</span>
1793
- <span class="default">
1794
-
1795
- </span>
1796
-
1797
- &mdash; <div class='inline'><p>find range keys greater than or equal to this</p>
1798
- </div>
1799
-
1800
- </li>
1801
-
1802
- <li>
1803
- <span class="name">:range_lte</span>
1804
- <span class="type">(<tt>Number</tt>)</span>
1805
- <span class="default">
1806
-
1807
- </span>
1808
-
1809
- &mdash; <div class='inline'><p>find range keys less than or equal to this</p>
1810
- </div>
1811
-
1812
- </li>
1813
-
1814
- </ul>
1815
-
1816
-
1817
- <p class="tag_title">Returns:</p>
1818
- <ul class="return">
1819
-
1820
- <li>
1821
-
1822
-
1823
- <span class='type'>(<tt>Enumerator</tt>)</span>
1824
-
1825
-
1826
-
1827
- &mdash;
1828
- <div class='inline'><p>an iterator of all matching items</p>
1829
- </div>
1830
-
1831
- </li>
1832
-
1833
- </ul>
1834
- <p class="tag_title">Since:</p>
1835
- <ul class="since">
1836
-
1837
- <li>
1838
-
1839
-
1840
-
1841
-
1842
-
1843
- <div class='inline'><p>0.2.0</p>
1844
- </div>
1845
-
1846
- </li>
1847
-
1848
- </ul>
1849
-
1850
- </div><table class="source_code">
1851
- <tr>
1852
- <td>
1853
- <pre class="lines">
1854
-
1855
-
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>
1874
- </td>
1875
- <td>
1876
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 220</span>
1877
-
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>
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>
1880
-
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>
1894
- <span class='kw'>end</span>
1895
- <span class='kw'>end</span></pre>
1896
- </td>
1897
- </tr>
1898
- </table>
1899
- </div>
1900
-
1901
- <div class="method_details ">
1902
- <h3 class="signature " id="scan-instance_method">
1903
-
1904
- - (<tt>Enumerator</tt>) <strong>scan</strong>(table_name, scan_hash, select_opts)
1905
-
1906
-
1907
-
1908
-
1909
-
1910
- </h3><div class="docstring">
1911
- <div class="discussion">
1912
- <p>Scan the DynamoDB table. This is usually a very slow operation as it naively filters all data on
1913
- the DynamoDB servers.</p>
1914
-
1915
-
1916
- </div>
1917
- </div>
1918
- <div class="tags">
1919
- <p class="tag_title">Parameters:</p>
1920
- <ul class="param">
1921
-
1922
- <li>
1923
-
1924
- <span class='name'>table_name</span>
1925
-
1926
-
1927
- <span class='type'>(<tt>String</tt>)</span>
1928
-
1929
-
1930
-
1931
- &mdash;
1932
- <div class='inline'><p>the name of the table</p>
1933
- </div>
1934
-
1935
- </li>
1936
-
1937
- <li>
1938
-
1939
- <span class='name'>scan_hash</span>
1940
-
1941
-
1942
- <span class='type'>(<tt>Hash</tt>)</span>
1943
-
1944
-
1945
-
1946
- &mdash;
1947
- <div class='inline'><p>a hash of attributes: matching records will be returned by the scan</p>
1948
- </div>
1949
-
1950
- </li>
1951
-
1952
- </ul>
1953
-
1954
- <p class="tag_title">Returns:</p>
1955
- <ul class="return">
1956
-
1957
- <li>
1958
-
1959
-
1960
- <span class='type'>(<tt>Enumerator</tt>)</span>
1961
-
1962
-
1963
-
1964
- &mdash;
1965
- <div class='inline'><p>an iterator of all matching items</p>
1966
- </div>
1967
-
1968
- </li>
1969
-
1970
- </ul>
1971
- <p class="tag_title">Since:</p>
1972
- <ul class="since">
1973
-
1974
- <li>
1975
-
1976
-
1977
-
1978
-
1979
-
1980
- <div class='inline'><p>0.2.0</p>
1981
- </div>
1982
-
1983
- </li>
1984
-
1985
- </ul>
1986
-
1987
- </div><table class="source_code">
1988
- <tr>
1989
- <td>
1990
- <pre class="lines">
1991
-
1992
-
1993
- 248
1994
- 249
1995
- 250
1996
- 251
1997
- 252
1998
- 253
1999
- 254
2000
- 255</pre>
2001
- </td>
2002
- <td>
2003
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 248</span>
2004
-
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>
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>
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>
2011
- <span class='kw'>end</span>
2012
- <span class='kw'>end</span></pre>
2013
- </td>
2014
- </tr>
2015
- </table>
2016
- </div>
2017
-
2018
- <div class="method_details ">
2019
- <h3 class="signature " id="table_cache-instance_method">
2020
-
2021
- - (<tt>Object</tt>) <strong>table_cache</strong>
2022
-
2023
-
2024
-
2025
-
2026
-
2027
- </h3><table class="source_code">
2028
- <tr>
2029
- <td>
2030
- <pre class="lines">
2031
-
2032
-
2033
- 270
2034
- 271
2035
- 272</pre>
2036
- </td>
2037
- <td>
2038
- <pre class="code"><span class="info file"># File 'lib/dynamoid/adapter/aws_sdk.rb', line 270</span>
2039
-
2040
- <span class='kw'>def</span> <span class='id identifier rubyid_table_cache'>table_cache</span>
2041
- <span class='ivar'>@table_cache</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
2042
- <span class='kw'>end</span></pre>
2043
- </td>
2044
- </tr>
2045
- </table>
2046
- </div>
2047
-
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">
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>
2088
- </div>
2089
-
2090
- </div>
2091
-
2092
- </div>
2093
-
2094
- <div id="footer">
2095
- Generated on Thu Jun 27 21:59:13 2013 by
2096
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2097
- 0.8.6.1 (ruby-1.9.3).
2098
- </div>
2099
-
2100
- </body>
2101
- </html>