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.
- data/.travis.yml +4 -0
- data/Gemfile +3 -2
- data/Gemfile.lock +40 -45
- data/README.markdown +55 -25
- data/Rakefile +31 -0
- data/VERSION +1 -1
- data/doc/Dynamoid.html +58 -42
- data/doc/Dynamoid/Adapter.html +666 -179
- data/doc/Dynamoid/Adapter/AwsSdk.html +752 -236
- data/doc/Dynamoid/Associations.html +28 -21
- data/doc/Dynamoid/Associations/Association.html +102 -49
- data/doc/Dynamoid/Associations/BelongsTo.html +28 -25
- data/doc/Dynamoid/Associations/ClassMethods.html +95 -52
- data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +28 -25
- data/doc/Dynamoid/Associations/HasMany.html +28 -25
- data/doc/Dynamoid/Associations/HasOne.html +28 -25
- data/doc/Dynamoid/Associations/ManyAssociation.html +138 -94
- data/doc/Dynamoid/Associations/SingleAssociation.html +67 -38
- data/doc/Dynamoid/Components.html +60 -22
- data/doc/Dynamoid/Config.html +61 -44
- data/doc/Dynamoid/Config/Options.html +90 -61
- data/doc/Dynamoid/Criteria.html +28 -21
- data/doc/Dynamoid/Criteria/Chain.html +508 -100
- data/doc/Dynamoid/Criteria/ClassMethods.html +26 -19
- data/doc/Dynamoid/Dirty.html +424 -0
- data/doc/Dynamoid/Dirty/ClassMethods.html +174 -0
- data/doc/Dynamoid/Document.html +451 -84
- data/doc/Dynamoid/Document/ClassMethods.html +281 -102
- data/doc/Dynamoid/Errors.html +29 -22
- data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +141 -0
- data/doc/Dynamoid/Errors/DocumentNotValid.html +36 -25
- data/doc/Dynamoid/Errors/Error.html +27 -20
- data/doc/Dynamoid/Errors/InvalidField.html +27 -19
- data/doc/Dynamoid/Errors/InvalidQuery.html +131 -0
- data/doc/Dynamoid/Errors/MissingRangeKey.html +27 -19
- data/doc/Dynamoid/Fields.html +94 -77
- data/doc/Dynamoid/Fields/ClassMethods.html +166 -37
- data/doc/Dynamoid/Finders.html +28 -21
- data/doc/Dynamoid/Finders/ClassMethods.html +505 -78
- data/doc/Dynamoid/IdentityMap.html +492 -0
- data/doc/Dynamoid/IdentityMap/ClassMethods.html +534 -0
- data/doc/Dynamoid/Indexes.html +41 -28
- data/doc/Dynamoid/Indexes/ClassMethods.html +45 -29
- data/doc/Dynamoid/Indexes/Index.html +100 -62
- data/doc/Dynamoid/Middleware.html +115 -0
- data/doc/Dynamoid/Middleware/IdentityMap.html +264 -0
- data/doc/Dynamoid/Persistence.html +326 -85
- data/doc/Dynamoid/Persistence/ClassMethods.html +275 -109
- data/doc/Dynamoid/Validations.html +47 -31
- data/doc/_index.html +116 -71
- data/doc/class_list.html +13 -7
- data/doc/css/full_list.css +4 -2
- data/doc/css/style.css +60 -44
- data/doc/file.LICENSE.html +26 -19
- data/doc/file.README.html +152 -48
- data/doc/file_list.html +14 -8
- data/doc/frames.html +20 -5
- data/doc/index.html +152 -48
- data/doc/js/app.js +52 -43
- data/doc/js/full_list.js +14 -9
- data/doc/js/jquery.js +4 -16
- data/doc/method_list.html +446 -540
- data/doc/top-level-namespace.html +27 -20
- data/{Dynamoid.gemspec → dynamoid.gemspec} +21 -8
- data/lib/dynamoid/adapter.rb +11 -10
- data/lib/dynamoid/adapter/aws_sdk.rb +40 -19
- data/lib/dynamoid/components.rb +2 -1
- data/lib/dynamoid/criteria/chain.rb +29 -11
- data/lib/dynamoid/dirty.rb +6 -0
- data/lib/dynamoid/document.rb +34 -19
- data/lib/dynamoid/fields.rb +36 -30
- data/lib/dynamoid/finders.rb +7 -5
- data/lib/dynamoid/persistence.rb +37 -10
- data/spec/app/models/address.rb +2 -0
- data/spec/app/models/camel_case.rb +10 -0
- data/spec/app/models/car.rb +6 -0
- data/spec/app/models/nuclear_submarine.rb +5 -0
- data/spec/app/models/subscription.rb +2 -2
- data/spec/app/models/vehicle.rb +7 -0
- data/spec/dynamoid/adapter/aws_sdk_spec.rb +20 -11
- data/spec/dynamoid/adapter_spec.rb +67 -82
- data/spec/dynamoid/associations/association_spec.rb +30 -30
- data/spec/dynamoid/criteria/chain_spec.rb +56 -9
- data/spec/dynamoid/criteria_spec.rb +3 -0
- data/spec/dynamoid/dirty_spec.rb +8 -0
- data/spec/dynamoid/document_spec.rb +109 -47
- data/spec/dynamoid/fields_spec.rb +32 -3
- data/spec/dynamoid/finders_spec.rb +12 -0
- data/spec/dynamoid/persistence_spec.rb +73 -8
- data/spec/spec_helper.rb +1 -0
- data/spec/support/with_partitioning.rb +15 -0
- metadata +22 -9
|
@@ -6,19 +6,21 @@
|
|
|
6
6
|
<title>
|
|
7
7
|
Module: Dynamoid::Adapter::AwsSdk
|
|
8
8
|
|
|
9
|
-
— Documentation by YARD 0.
|
|
9
|
+
— 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"
|
|
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"
|
|
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
|
-
|
|
19
|
-
|
|
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> »
|
|
34
|
+
<a href="../../_index.html">Index (A)</a> »
|
|
37
35
|
<span class='title'><span class='object_link'><a href="../../Dynamoid.html" title="Dynamoid (module)">Dynamoid</a></span></span> » <span class='title'><span class='object_link'><a href="../Adapter.html" title="Dynamoid::Adapter (module)">Adapter</a></span></span>
|
|
38
36
|
»
|
|
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
|
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
|
46
|
+
href="../../class_list.html">
|
|
47
|
+
Class List
|
|
48
|
+
</a>
|
|
48
49
|
|
|
49
|
-
<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
|
|
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="#
|
|
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)">- (
|
|
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'
|
|
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)">- (
|
|
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)">- (
|
|
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 = {}, &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
|
-
<
|
|
509
|
+
<h3 class="signature first" id="batch_delete_item-instance_method">
|
|
421
510
|
|
|
422
|
-
- (<tt>
|
|
511
|
+
- (<tt>Object</tt>) <strong>batch_delete_item</strong>(options)
|
|
423
512
|
|
|
424
513
|
|
|
425
514
|
|
|
426
|
-
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
</h3><div class="docstring">
|
|
427
518
|
<div class="discussion">
|
|
428
|
-
<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' => [['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
|
-
<
|
|
530
|
+
<p class="tag_title">Examples:</p>
|
|
437
531
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
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'>=></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
|
-
<
|
|
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
|
+
—
|
|
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'>=></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'>=></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'>=></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
|
—
|
|
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
|
+
—
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
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
|
|
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
|
|
523
|
-
<span class='id identifier
|
|
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'>=></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'><<</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
|
-
<
|
|
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
|
-
|
|
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 => Rails.logger)
|
|
782
|
+
load credentials from a file
|
|
783
|
+
config_path = File.expand_path(File.dirname(<strong>FILE</strong>)+"/../aws.yml")
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
|
|
595
|
-
|
|
596
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
|
|
665
|
-
|
|
666
|
-
|
|
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
|
|
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
|
-
<
|
|
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
|
+
—
|
|
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
|
+
—
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
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
|
|
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'>"</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'>"</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'>=></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
|
-
<
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
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
|
|
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='
|
|
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
|
-
<
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
|
|
972
|
-
|
|
973
|
-
|
|
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
|
|
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='
|
|
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'>"</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'>"</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
|
-
<
|
|
1328
|
+
<h3 class="signature " id="get_item-instance_method">
|
|
988
1329
|
|
|
989
|
-
- (<tt>
|
|
1330
|
+
- (<tt>Hash</tt>) <strong>get_item</strong>(table_name, key, options = {})
|
|
1331
|
+
|
|
1332
|
+
|
|
990
1333
|
|
|
991
1334
|
|
|
992
1335
|
|
|
993
|
-
</
|
|
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
|
+
—
|
|
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
|
+
—
|
|
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
|
+
—
|
|
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
|
+
—
|
|
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
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
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
|
|
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='
|
|
1023
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
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
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
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
|
|
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
|
-
<
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
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
|
|
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'>&</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
|
-
<
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
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
|
|
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
|
|
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'>&&</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'>=></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
|
-
<
|
|
1679
|
+
<h3 class="signature " id="query-instance_method">
|
|
1236
1680
|
|
|
1237
|
-
- (<tt>
|
|
1681
|
+
- (<tt>Enumerator</tt>) <strong>query</strong>(table_name, opts = {})
|
|
1238
1682
|
|
|
1239
1683
|
|
|
1240
1684
|
|
|
1241
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
-
|
|
1748
|
+
|
|
1749
|
+
— <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
|
-
|
|
1760
|
+
|
|
1761
|
+
— <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
|
-
|
|
1772
|
+
|
|
1773
|
+
— <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
|
-
|
|
1784
|
+
|
|
1785
|
+
— <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
|
-
|
|
1796
|
+
|
|
1797
|
+
— <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
|
-
|
|
1808
|
+
|
|
1809
|
+
— <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
|
-
<
|
|
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>
|
|
1823
|
+
<span class='type'>(<tt>Enumerator</tt>)</span>
|
|
1366
1824
|
|
|
1367
1825
|
|
|
1368
1826
|
|
|
1369
1827
|
—
|
|
1370
|
-
<div class='inline'><p>an
|
|
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
|
-
<
|
|
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
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
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
|
|
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='
|
|
1418
|
-
|
|
1419
|
-
<span class='
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
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'>=></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
|
-
<
|
|
1902
|
+
<h3 class="signature " id="scan-instance_method">
|
|
1433
1903
|
|
|
1434
|
-
- (<tt>
|
|
1904
|
+
- (<tt>Enumerator</tt>) <strong>scan</strong>(table_name, scan_hash, select_opts)
|
|
1435
1905
|
|
|
1436
1906
|
|
|
1437
1907
|
|
|
1438
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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>
|
|
1960
|
+
<span class='type'>(<tt>Enumerator</tt>)</span>
|
|
1489
1961
|
|
|
1490
1962
|
|
|
1491
1963
|
|
|
1492
1964
|
—
|
|
1493
|
-
<div class='inline'><p>an
|
|
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
|
-
<
|
|
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
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
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
|
|
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
|
|
1536
|
-
|
|
1537
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
2025
|
+
|
|
2026
|
+
|
|
2027
|
+
</h3><table class="source_code">
|
|
1554
2028
|
<tr>
|
|
1555
2029
|
<td>
|
|
1556
2030
|
<pre class="lines">
|
|
1557
2031
|
|
|
1558
2032
|
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
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
|
|
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
|
-
|
|
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 = {}, &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'>&</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'>=></span> <span class='symbol'>:all_new</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='op'>&</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
|
|
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.
|
|
2097
|
+
0.8.6.1 (ruby-1.9.3).
|
|
1582
2098
|
</div>
|
|
1583
2099
|
|
|
1584
2100
|
</body>
|