dynamoid 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. data/.travis.yml +4 -0
  2. data/Gemfile +3 -2
  3. data/Gemfile.lock +40 -45
  4. data/README.markdown +55 -25
  5. data/Rakefile +31 -0
  6. data/VERSION +1 -1
  7. data/doc/Dynamoid.html +58 -42
  8. data/doc/Dynamoid/Adapter.html +666 -179
  9. data/doc/Dynamoid/Adapter/AwsSdk.html +752 -236
  10. data/doc/Dynamoid/Associations.html +28 -21
  11. data/doc/Dynamoid/Associations/Association.html +102 -49
  12. data/doc/Dynamoid/Associations/BelongsTo.html +28 -25
  13. data/doc/Dynamoid/Associations/ClassMethods.html +95 -52
  14. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +28 -25
  15. data/doc/Dynamoid/Associations/HasMany.html +28 -25
  16. data/doc/Dynamoid/Associations/HasOne.html +28 -25
  17. data/doc/Dynamoid/Associations/ManyAssociation.html +138 -94
  18. data/doc/Dynamoid/Associations/SingleAssociation.html +67 -38
  19. data/doc/Dynamoid/Components.html +60 -22
  20. data/doc/Dynamoid/Config.html +61 -44
  21. data/doc/Dynamoid/Config/Options.html +90 -61
  22. data/doc/Dynamoid/Criteria.html +28 -21
  23. data/doc/Dynamoid/Criteria/Chain.html +508 -100
  24. data/doc/Dynamoid/Criteria/ClassMethods.html +26 -19
  25. data/doc/Dynamoid/Dirty.html +424 -0
  26. data/doc/Dynamoid/Dirty/ClassMethods.html +174 -0
  27. data/doc/Dynamoid/Document.html +451 -84
  28. data/doc/Dynamoid/Document/ClassMethods.html +281 -102
  29. data/doc/Dynamoid/Errors.html +29 -22
  30. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +141 -0
  31. data/doc/Dynamoid/Errors/DocumentNotValid.html +36 -25
  32. data/doc/Dynamoid/Errors/Error.html +27 -20
  33. data/doc/Dynamoid/Errors/InvalidField.html +27 -19
  34. data/doc/Dynamoid/Errors/InvalidQuery.html +131 -0
  35. data/doc/Dynamoid/Errors/MissingRangeKey.html +27 -19
  36. data/doc/Dynamoid/Fields.html +94 -77
  37. data/doc/Dynamoid/Fields/ClassMethods.html +166 -37
  38. data/doc/Dynamoid/Finders.html +28 -21
  39. data/doc/Dynamoid/Finders/ClassMethods.html +505 -78
  40. data/doc/Dynamoid/IdentityMap.html +492 -0
  41. data/doc/Dynamoid/IdentityMap/ClassMethods.html +534 -0
  42. data/doc/Dynamoid/Indexes.html +41 -28
  43. data/doc/Dynamoid/Indexes/ClassMethods.html +45 -29
  44. data/doc/Dynamoid/Indexes/Index.html +100 -62
  45. data/doc/Dynamoid/Middleware.html +115 -0
  46. data/doc/Dynamoid/Middleware/IdentityMap.html +264 -0
  47. data/doc/Dynamoid/Persistence.html +326 -85
  48. data/doc/Dynamoid/Persistence/ClassMethods.html +275 -109
  49. data/doc/Dynamoid/Validations.html +47 -31
  50. data/doc/_index.html +116 -71
  51. data/doc/class_list.html +13 -7
  52. data/doc/css/full_list.css +4 -2
  53. data/doc/css/style.css +60 -44
  54. data/doc/file.LICENSE.html +26 -19
  55. data/doc/file.README.html +152 -48
  56. data/doc/file_list.html +14 -8
  57. data/doc/frames.html +20 -5
  58. data/doc/index.html +152 -48
  59. data/doc/js/app.js +52 -43
  60. data/doc/js/full_list.js +14 -9
  61. data/doc/js/jquery.js +4 -16
  62. data/doc/method_list.html +446 -540
  63. data/doc/top-level-namespace.html +27 -20
  64. data/{Dynamoid.gemspec → dynamoid.gemspec} +21 -8
  65. data/lib/dynamoid/adapter.rb +11 -10
  66. data/lib/dynamoid/adapter/aws_sdk.rb +40 -19
  67. data/lib/dynamoid/components.rb +2 -1
  68. data/lib/dynamoid/criteria/chain.rb +29 -11
  69. data/lib/dynamoid/dirty.rb +6 -0
  70. data/lib/dynamoid/document.rb +34 -19
  71. data/lib/dynamoid/fields.rb +36 -30
  72. data/lib/dynamoid/finders.rb +7 -5
  73. data/lib/dynamoid/persistence.rb +37 -10
  74. data/spec/app/models/address.rb +2 -0
  75. data/spec/app/models/camel_case.rb +10 -0
  76. data/spec/app/models/car.rb +6 -0
  77. data/spec/app/models/nuclear_submarine.rb +5 -0
  78. data/spec/app/models/subscription.rb +2 -2
  79. data/spec/app/models/vehicle.rb +7 -0
  80. data/spec/dynamoid/adapter/aws_sdk_spec.rb +20 -11
  81. data/spec/dynamoid/adapter_spec.rb +67 -82
  82. data/spec/dynamoid/associations/association_spec.rb +30 -30
  83. data/spec/dynamoid/criteria/chain_spec.rb +56 -9
  84. data/spec/dynamoid/criteria_spec.rb +3 -0
  85. data/spec/dynamoid/dirty_spec.rb +8 -0
  86. data/spec/dynamoid/document_spec.rb +109 -47
  87. data/spec/dynamoid/fields_spec.rb +32 -3
  88. data/spec/dynamoid/finders_spec.rb +12 -0
  89. data/spec/dynamoid/persistence_spec.rb +73 -8
  90. data/spec/spec_helper.rb +1 -0
  91. data/spec/support/with_partitioning.rb +15 -0
  92. metadata +22 -9
@@ -6,19 +6,21 @@
6
6
  <title>
7
7
  Module: Dynamoid::Document::ClassMethods
8
8
 
9
- &mdash; Documentation by YARD 0.7.5
9
+ &mdash; Documentation by YARD 0.8.6.1
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
14
 
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- relpath = '../..';
19
- if (relpath != '') relpath += '/';
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../../';
20
+ framesUrl = "../../frames.html#!" + escape(window.location.href);
20
21
  </script>
21
22
 
23
+
22
24
  <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
23
25
 
24
26
  <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
@@ -26,36 +28,41 @@
26
28
 
27
29
  </head>
28
30
  <body>
29
- <script type="text/javascript" charset="utf-8">
30
- if (window.top.frames.main) document.body.className = 'frames';
31
- </script>
32
-
33
31
  <div id="header">
34
32
  <div id="menu">
35
33
 
36
- <a href="../../_index.html">Index (C)</a> &raquo;
34
+ <a href="../../_index.html">Index (C)</a> &raquo;
37
35
  <span class='title'><span class='object_link'><a href="../../Dynamoid.html" title="Dynamoid (module)">Dynamoid</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Document</a></span></span>
38
36
  &raquo;
39
37
  <span class="title">ClassMethods</span>
40
38
 
41
-
39
+
42
40
  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
41
  </div>
44
42
 
45
43
  <div id="search">
46
44
 
47
- <a id="class_list_link" href="#">Class List</a>
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../../class_list.html">
47
+ Class List
48
+ </a>
48
49
 
49
- <a id="method_list_link" href="#">Method List</a>
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../../method_list.html">
52
+ Method List
53
+ </a>
50
54
 
51
- <a id="file_list_link" href="#">File List</a>
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../../file_list.html">
57
+ File List
58
+ </a>
52
59
 
53
60
  </div>
54
61
  <div class="clear"></div>
55
62
  </div>
56
-
63
+
57
64
  <iframe id="search_frame"></iframe>
58
-
65
+
59
66
  <div id="content"><h1>Module: Dynamoid::Document::ClassMethods
60
67
 
61
68
 
@@ -95,6 +102,28 @@
95
102
  <li class="public ">
96
103
  <span class="summary_signature">
97
104
 
105
+ <a href="#attr_readonly-instance_method" title="#attr_readonly (instance method)">- (Object) <strong>attr_readonly</strong>(*read_only_attributes) </a>
106
+
107
+
108
+
109
+ </span>
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ <span class="summary_desc"><div class='inline'></div></span>
120
+
121
+ </li>
122
+
123
+
124
+ <li class="public ">
125
+ <span class="summary_signature">
126
+
98
127
  <a href="#build-instance_method" title="#build (instance method)">- (Dynamoid::Document) <strong>build</strong>(attrs = {}) </a>
99
128
 
100
129
 
@@ -106,11 +135,35 @@
106
135
 
107
136
 
108
137
 
138
+
109
139
 
110
140
 
111
141
  <span class="summary_desc"><div class='inline'><p>Initialize a new object.</p>
112
142
  </div></span>
113
143
 
144
+ </li>
145
+
146
+
147
+ <li class="public ">
148
+ <span class="summary_signature">
149
+
150
+ <a href="#count-instance_method" title="#count (instance method)">- (Object) <strong>count</strong> </a>
151
+
152
+
153
+
154
+ </span>
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+ <span class="summary_desc"><div class='inline'><p>Returns the number of items for this class.</p>
165
+ </div></span>
166
+
114
167
  </li>
115
168
 
116
169
 
@@ -128,6 +181,7 @@
128
181
 
129
182
 
130
183
 
184
+
131
185
 
132
186
 
133
187
  <span class="summary_desc"><div class='inline'><p>Initialize a new object and immediately save it to the database.</p>
@@ -150,6 +204,7 @@
150
204
 
151
205
 
152
206
 
207
+
153
208
 
154
209
 
155
210
  <span class="summary_desc"><div class='inline'><p>Initialize a new object and immediately save it to the database.</p>
@@ -161,7 +216,7 @@
161
216
  <li class="public ">
162
217
  <span class="summary_signature">
163
218
 
164
- <a href="#exists%3F-instance_method" title="#exists? (instance method)">- (Boolean) <strong>exists?</strong>(id) </a>
219
+ <a href="#exists%3F-instance_method" title="#exists? (instance method)">- (Boolean) <strong>exists?</strong>(id_or_conditions = {}) </a>
165
220
 
166
221
 
167
222
 
@@ -172,6 +227,7 @@
172
227
 
173
228
 
174
229
 
230
+
175
231
 
176
232
 
177
233
  <span class="summary_desc"><div class='inline'><p>Does this object exist?.</p>
@@ -194,6 +250,7 @@
194
250
 
195
251
 
196
252
 
253
+
197
254
 
198
255
 
199
256
  <span class="summary_desc"><div class='inline'><p>Returns the id field for this class.</p>
@@ -216,6 +273,7 @@
216
273
 
217
274
 
218
275
 
276
+
219
277
 
220
278
 
221
279
  <span class="summary_desc"><div class='inline'><p>Returns the read_capacity for this table.</p>
@@ -238,9 +296,10 @@
238
296
 
239
297
 
240
298
 
299
+
241
300
 
242
301
 
243
- <span class="summary_desc"><div class='inline'><p>Set up table options, including naming it whatever you want, setting the id key, and manually overriding read and
302
+ <span class="summary_desc"><div class='inline'><p>Set up table options, including naming it whatever you want, setting the id key, and manually overriding read and
244
303
  write capacity.</p>
245
304
  </div></span>
246
305
 
@@ -261,6 +320,7 @@ write capacity.</p>
261
320
 
262
321
 
263
322
 
323
+
264
324
 
265
325
 
266
326
  <span class="summary_desc"><div class='inline'><p>Returns the write_capacity for this table.</p>
@@ -276,16 +336,48 @@ write capacity.</p>
276
336
 
277
337
  <div id="instance_method_details" class="method_details_list">
278
338
  <h2>Instance Method Details</h2>
279
-
339
+
280
340
 
281
341
  <div class="method_details first">
282
- <p class="signature first" id="build-instance_method">
342
+ <h3 class="signature first" id="attr_readonly-instance_method">
343
+
344
+ - (<tt>Object</tt>) <strong>attr_readonly</strong>(*read_only_attributes)
345
+
346
+
347
+
348
+
349
+
350
+ </h3><table class="source_code">
351
+ <tr>
352
+ <td>
353
+ <pre class="lines">
354
+
355
+
356
+ 35
357
+ 36
358
+ 37</pre>
359
+ </td>
360
+ <td>
361
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 35</span>
362
+
363
+ <span class='kw'>def</span> <span class='id identifier rubyid_attr_readonly'>attr_readonly</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_read_only_attributes'>read_only_attributes</span><span class='rparen'>)</span>
364
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_read_only_attributes'>read_only_attributes</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span> <span class='id identifier rubyid_read_only_attributes'>read_only_attributes</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_s</span><span class='rparen'>)</span>
365
+ <span class='kw'>end</span></pre>
366
+ </td>
367
+ </tr>
368
+ </table>
369
+ </div>
370
+
371
+ <div class="method_details ">
372
+ <h3 class="signature " id="build-instance_method">
283
373
 
284
374
  - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>build</strong>(attrs = {})
285
375
 
286
376
 
287
377
 
288
- </p><div class="docstring">
378
+
379
+
380
+ </h3><div class="docstring">
289
381
  <div class="discussion">
290
382
  <p>Initialize a new object.</p>
291
383
 
@@ -293,7 +385,7 @@ write capacity.</p>
293
385
  </div>
294
386
  </div>
295
387
  <div class="tags">
296
- <h3>Parameters:</h3>
388
+ <p class="tag_title">Parameters:</p>
297
389
  <ul class="param">
298
390
 
299
391
  <li>
@@ -315,7 +407,7 @@ write capacity.</p>
315
407
 
316
408
  </ul>
317
409
 
318
- <h3>Returns:</h3>
410
+ <p class="tag_title">Returns:</p>
319
411
  <ul class="return">
320
412
 
321
413
  <li>
@@ -332,7 +424,7 @@ write capacity.</p>
332
424
  </li>
333
425
 
334
426
  </ul>
335
- <h3>Since:</h3>
427
+ <p class="tag_title">Since:</p>
336
428
  <ul class="since">
337
429
 
338
430
  <li>
@@ -354,15 +446,15 @@ write capacity.</p>
354
446
  <pre class="lines">
355
447
 
356
448
 
357
- 82
358
- 83
359
- 84</pre>
449
+ 96
450
+ 97
451
+ 98</pre>
360
452
  </td>
361
453
  <td>
362
- <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 82</span>
454
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 96</span>
363
455
 
364
456
  <span class='kw'>def</span> <span class='id identifier rubyid_build'>build</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
365
- <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span>
457
+ <span class='id identifier rubyid_attrs'>attrs</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_attrs'>attrs</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_constantize'>constantize</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span>
366
458
  <span class='kw'>end</span></pre>
367
459
  </td>
368
460
  </tr>
@@ -370,13 +462,70 @@ write capacity.</p>
370
462
  </div>
371
463
 
372
464
  <div class="method_details ">
373
- <p class="signature " id="create-instance_method">
465
+ <h3 class="signature " id="count-instance_method">
466
+
467
+ - (<tt>Object</tt>) <strong>count</strong>
468
+
469
+
470
+
471
+
472
+
473
+ </h3><div class="docstring">
474
+ <div class="discussion">
475
+ <p>Returns the number of items for this class.</p>
476
+
477
+
478
+ </div>
479
+ </div>
480
+ <div class="tags">
481
+
482
+ <p class="tag_title">Since:</p>
483
+ <ul class="since">
484
+
485
+ <li>
486
+
487
+
488
+
489
+
490
+
491
+ <div class='inline'><p>0.6.1</p>
492
+ </div>
493
+
494
+ </li>
495
+
496
+ </ul>
497
+
498
+ </div><table class="source_code">
499
+ <tr>
500
+ <td>
501
+ <pre class="lines">
502
+
503
+
504
+ 63
505
+ 64
506
+ 65</pre>
507
+ </td>
508
+ <td>
509
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 63</span>
510
+
511
+ <span class='kw'>def</span> <span class='id identifier rubyid_count'>count</span>
512
+ <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_count'>count</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rparen'>)</span>
513
+ <span class='kw'>end</span></pre>
514
+ </td>
515
+ </tr>
516
+ </table>
517
+ </div>
518
+
519
+ <div class="method_details ">
520
+ <h3 class="signature " id="create-instance_method">
374
521
 
375
522
  - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>create</strong>(attrs = {})
376
523
 
377
524
 
378
525
 
379
- </p><div class="docstring">
526
+
527
+
528
+ </h3><div class="docstring">
380
529
  <div class="discussion">
381
530
  <p>Initialize a new object and immediately save it to the database.</p>
382
531
 
@@ -384,7 +533,7 @@ write capacity.</p>
384
533
  </div>
385
534
  </div>
386
535
  <div class="tags">
387
- <h3>Parameters:</h3>
536
+ <p class="tag_title">Parameters:</p>
388
537
  <ul class="param">
389
538
 
390
539
  <li>
@@ -406,7 +555,7 @@ write capacity.</p>
406
555
 
407
556
  </ul>
408
557
 
409
- <h3>Returns:</h3>
558
+ <p class="tag_title">Returns:</p>
410
559
  <ul class="return">
411
560
 
412
561
  <li>
@@ -423,7 +572,7 @@ write capacity.</p>
423
572
  </li>
424
573
 
425
574
  </ul>
426
- <h3>Since:</h3>
575
+ <p class="tag_title">Since:</p>
427
576
  <ul class="since">
428
577
 
429
578
  <li>
@@ -445,15 +594,15 @@ write capacity.</p>
445
594
  <pre class="lines">
446
595
 
447
596
 
448
- 60
449
- 61
450
- 62</pre>
597
+ 74
598
+ 75
599
+ 76</pre>
451
600
  </td>
452
601
  <td>
453
- <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 60</span>
602
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 74</span>
454
603
 
455
604
  <span class='kw'>def</span> <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
456
- <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:save</span><span class='rparen'>)</span>
605
+ <span class='id identifier rubyid_attrs'>attrs</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_attrs'>attrs</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_constantize'>constantize</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:save</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:save</span><span class='rparen'>)</span>
457
606
  <span class='kw'>end</span></pre>
458
607
  </td>
459
608
  </tr>
@@ -461,13 +610,15 @@ write capacity.</p>
461
610
  </div>
462
611
 
463
612
  <div class="method_details ">
464
- <p class="signature " id="create!-instance_method">
613
+ <h3 class="signature " id="create!-instance_method">
465
614
 
466
615
  - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>create!</strong>(attrs = {})
467
616
 
468
617
 
469
618
 
470
- </p><div class="docstring">
619
+
620
+
621
+ </h3><div class="docstring">
471
622
  <div class="discussion">
472
623
  <p>Initialize a new object and immediately save it to the database. Raise an exception if persistence failed.</p>
473
624
 
@@ -475,7 +626,7 @@ write capacity.</p>
475
626
  </div>
476
627
  </div>
477
628
  <div class="tags">
478
- <h3>Parameters:</h3>
629
+ <p class="tag_title">Parameters:</p>
479
630
  <ul class="param">
480
631
 
481
632
  <li>
@@ -497,7 +648,7 @@ write capacity.</p>
497
648
 
498
649
  </ul>
499
650
 
500
- <h3>Returns:</h3>
651
+ <p class="tag_title">Returns:</p>
501
652
  <ul class="return">
502
653
 
503
654
  <li>
@@ -514,7 +665,7 @@ write capacity.</p>
514
665
  </li>
515
666
 
516
667
  </ul>
517
- <h3>Since:</h3>
668
+ <p class="tag_title">Since:</p>
518
669
  <ul class="since">
519
670
 
520
671
  <li>
@@ -536,15 +687,15 @@ write capacity.</p>
536
687
  <pre class="lines">
537
688
 
538
689
 
539
- 71
540
- 72
541
- 73</pre>
690
+ 85
691
+ 86
692
+ 87</pre>
542
693
  </td>
543
694
  <td>
544
- <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 71</span>
695
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 85</span>
545
696
 
546
697
  <span class='kw'>def</span> <span class='id identifier rubyid_create!'>create!</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
547
- <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:save!</span><span class='rparen'>)</span>
698
+ <span class='id identifier rubyid_attrs'>attrs</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_attrs'>attrs</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_constantize'>constantize</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:save!</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:save!</span><span class='rparen'>)</span>
548
699
  <span class='kw'>end</span></pre>
549
700
  </td>
550
701
  </tr>
@@ -552,13 +703,15 @@ write capacity.</p>
552
703
  </div>
553
704
 
554
705
  <div class="method_details ">
555
- <p class="signature " id="exists?-instance_method">
706
+ <h3 class="signature " id="exists?-instance_method">
707
+
708
+ - (<tt>Boolean</tt>) <strong>exists?</strong>(id_or_conditions = {})
556
709
 
557
- - (<tt>Boolean</tt>) <strong>exists?</strong>(id)
710
+
558
711
 
559
712
 
560
713
 
561
- </p><div class="docstring">
714
+ </h3><div class="docstring">
562
715
  <div class="discussion">
563
716
  <p>Does this object exist?</p>
564
717
 
@@ -566,27 +719,29 @@ write capacity.</p>
566
719
  </div>
567
720
  </div>
568
721
  <div class="tags">
569
- <h3>Parameters:</h3>
722
+ <p class="tag_title">Parameters:</p>
570
723
  <ul class="param">
571
724
 
572
725
  <li>
573
726
 
574
- <span class='name'>id</span>
727
+ <span class='name'>id_or_conditions</span>
575
728
 
576
729
 
577
- <span class='type'>(<tt>String</tt>)</span>
730
+ <span class='type'>(<tt>Mixed</tt>)</span>
578
731
 
579
732
 
733
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
734
+
580
735
 
581
736
  &mdash;
582
- <div class='inline'><p>the id of the object</p>
737
+ <div class='inline'><p>the id of the object or a hash with the options to filter from.</p>
583
738
  </div>
584
739
 
585
740
  </li>
586
741
 
587
742
  </ul>
588
743
 
589
- <h3>Returns:</h3>
744
+ <p class="tag_title">Returns:</p>
590
745
  <ul class="return">
591
746
 
592
747
  <li>
@@ -603,7 +758,7 @@ write capacity.</p>
603
758
  </li>
604
759
 
605
760
  </ul>
606
- <h3>Since:</h3>
761
+ <p class="tag_title">Since:</p>
607
762
  <ul class="since">
608
763
 
609
764
  <li>
@@ -625,15 +780,21 @@ write capacity.</p>
625
780
  <pre class="lines">
626
781
 
627
782
 
628
- 93
629
- 94
630
- 95</pre>
783
+ 107
784
+ 108
785
+ 109
786
+ 110
787
+ 111
788
+ 112</pre>
631
789
  </td>
632
790
  <td>
633
- <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 93</span>
791
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 107</span>
634
792
 
635
- <span class='kw'>def</span> <span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
636
- <span class='op'>!</span><span class='op'>!</span> <span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
793
+ <span class='kw'>def</span> <span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_id_or_conditions'>id_or_conditions</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
794
+ <span class='kw'>case</span> <span class='id identifier rubyid_id_or_conditions'>id_or_conditions</span>
795
+ <span class='kw'>when</span> <span class='const'>Hash</span> <span class='kw'>then</span> <span class='op'>!</span> <span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='id identifier rubyid_id_or_conditions'>id_or_conditions</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
796
+ <span class='kw'>else</span> <span class='op'>!</span><span class='op'>!</span> <span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_id_or_conditions'>id_or_conditions</span><span class='rparen'>)</span>
797
+ <span class='kw'>end</span>
637
798
  <span class='kw'>end</span></pre>
638
799
  </td>
639
800
  </tr>
@@ -641,13 +802,15 @@ write capacity.</p>
641
802
  </div>
642
803
 
643
804
  <div class="method_details ">
644
- <p class="signature " id="hash_key-instance_method">
805
+ <h3 class="signature " id="hash_key-instance_method">
645
806
 
646
807
  - (<tt>Object</tt>) <strong>hash_key</strong>
647
808
 
648
809
 
649
810
 
650
- </p><div class="docstring">
811
+
812
+
813
+ </h3><div class="docstring">
651
814
  <div class="discussion">
652
815
  <p>Returns the id field for this class.</p>
653
816
 
@@ -656,7 +819,7 @@ write capacity.</p>
656
819
  </div>
657
820
  <div class="tags">
658
821
 
659
- <h3>Since:</h3>
822
+ <p class="tag_title">Since:</p>
660
823
  <ul class="since">
661
824
 
662
825
  <li>
@@ -678,12 +841,12 @@ write capacity.</p>
678
841
  <pre class="lines">
679
842
 
680
843
 
681
- 49
682
- 50
683
- 51</pre>
844
+ 56
845
+ 57
846
+ 58</pre>
684
847
  </td>
685
848
  <td>
686
- <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 49</span>
849
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 56</span>
687
850
 
688
851
  <span class='kw'>def</span> <span class='id identifier rubyid_hash_key'>hash_key</span>
689
852
  <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:key</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='symbol'>:id</span>
@@ -694,13 +857,15 @@ write capacity.</p>
694
857
  </div>
695
858
 
696
859
  <div class="method_details ">
697
- <p class="signature " id="read_capacity-instance_method">
860
+ <h3 class="signature " id="read_capacity-instance_method">
698
861
 
699
862
  - (<tt>Object</tt>) <strong>read_capacity</strong>
700
863
 
701
864
 
702
865
 
703
- </p><div class="docstring">
866
+
867
+
868
+ </h3><div class="docstring">
704
869
  <div class="discussion">
705
870
  <p>Returns the read_capacity for this table.</p>
706
871
 
@@ -709,7 +874,7 @@ write capacity.</p>
709
874
  </div>
710
875
  <div class="tags">
711
876
 
712
- <h3>Since:</h3>
877
+ <p class="tag_title">Since:</p>
713
878
  <ul class="since">
714
879
 
715
880
  <li>
@@ -731,12 +896,12 @@ write capacity.</p>
731
896
  <pre class="lines">
732
897
 
733
898
 
734
- 35
735
- 36
736
- 37</pre>
899
+ 42
900
+ 43
901
+ 44</pre>
737
902
  </td>
738
903
  <td>
739
- <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 35</span>
904
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 42</span>
740
905
 
741
906
  <span class='kw'>def</span> <span class='id identifier rubyid_read_capacity'>read_capacity</span>
742
907
  <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>
@@ -747,22 +912,24 @@ write capacity.</p>
747
912
  </div>
748
913
 
749
914
  <div class="method_details ">
750
- <p class="signature " id="table-instance_method">
915
+ <h3 class="signature " id="table-instance_method">
751
916
 
752
917
  - (<tt>Object</tt>) <strong>table</strong>(options = {})
753
918
 
754
919
 
755
920
 
756
- </p><div class="docstring">
921
+
922
+
923
+ </h3><div class="docstring">
757
924
  <div class="discussion">
758
- <p>Set up table options, including naming it whatever you want, setting the id key, and manually overriding read and
925
+ <p>Set up table options, including naming it whatever you want, setting the id key, and manually overriding read and
759
926
  write capacity.</p>
760
927
 
761
928
 
762
929
  </div>
763
930
  </div>
764
931
  <div class="tags">
765
- <h3>Parameters:</h3>
932
+ <p class="tag_title">Parameters:</p>
766
933
  <ul class="param">
767
934
 
768
935
  <li>
@@ -787,7 +954,7 @@ write capacity.</p>
787
954
 
788
955
 
789
956
 
790
- <h3>Options Hash (<tt>options</tt>):</h3>
957
+ <p class="tag_title">Options Hash (<tt>options</tt>):</p>
791
958
  <ul class="option">
792
959
 
793
960
  <li>
@@ -796,8 +963,10 @@ write capacity.</p>
796
963
  <span class="default">
797
964
 
798
965
  </span>
799
- &mdash; <div class='inline'><p>the name for the table; this still gets namespaced</p>
966
+
967
+ &mdash; <div class='inline'><p>the name for the table; this still gets namespaced</p>
800
968
  </div>
969
+
801
970
  </li>
802
971
 
803
972
  <li>
@@ -806,8 +975,10 @@ write capacity.</p>
806
975
  <span class="default">
807
976
 
808
977
  </span>
809
- &mdash; <div class='inline'><p>id column for the table</p>
978
+
979
+ &mdash; <div class='inline'><p>id column for the table</p>
810
980
  </div>
981
+
811
982
  </li>
812
983
 
813
984
  <li>
@@ -816,8 +987,10 @@ write capacity.</p>
816
987
  <span class="default">
817
988
 
818
989
  </span>
819
- &mdash; <div class='inline'><p>set the read capacity for the table; does not work on existing tables</p>
990
+
991
+ &mdash; <div class='inline'><p>set the read capacity for the table; does not work on existing tables</p>
820
992
  </div>
993
+
821
994
  </li>
822
995
 
823
996
  <li>
@@ -826,14 +999,16 @@ write capacity.</p>
826
999
  <span class="default">
827
1000
 
828
1001
  </span>
829
- &mdash; <div class='inline'><p>set the write capacity for the table; does not work on existing tables</p>
1002
+
1003
+ &mdash; <div class='inline'><p>set the write capacity for the table; does not work on existing tables</p>
830
1004
  </div>
1005
+
831
1006
  </li>
832
1007
 
833
1008
  </ul>
834
1009
 
835
1010
 
836
- <h3>Since:</h3>
1011
+ <p class="tag_title">Since:</p>
837
1012
  <ul class="since">
838
1013
 
839
1014
  <li>
@@ -855,15 +1030,17 @@ write capacity.</p>
855
1030
  <pre class="lines">
856
1031
 
857
1032
 
858
- 28
859
- 29
860
- 30</pre>
1033
+ 30
1034
+ 31
1035
+ 32
1036
+ 33</pre>
861
1037
  </td>
862
1038
  <td>
863
- <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 28</span>
1039
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 30</span>
864
1040
 
865
1041
  <span class='kw'>def</span> <span class='id identifier rubyid_table'>table</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
866
1042
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span>
1043
+ <span class='kw'>super</span> <span class='kw'>if</span> <span class='kw'>defined?</span> <span class='kw'>super</span>
867
1044
  <span class='kw'>end</span></pre>
868
1045
  </td>
869
1046
  </tr>
@@ -871,13 +1048,15 @@ write capacity.</p>
871
1048
  </div>
872
1049
 
873
1050
  <div class="method_details ">
874
- <p class="signature " id="write_capacity-instance_method">
1051
+ <h3 class="signature " id="write_capacity-instance_method">
875
1052
 
876
1053
  - (<tt>Object</tt>) <strong>write_capacity</strong>
877
1054
 
878
1055
 
879
1056
 
880
- </p><div class="docstring">
1057
+
1058
+
1059
+ </h3><div class="docstring">
881
1060
  <div class="discussion">
882
1061
  <p>Returns the write_capacity for this table.</p>
883
1062
 
@@ -886,7 +1065,7 @@ write capacity.</p>
886
1065
  </div>
887
1066
  <div class="tags">
888
1067
 
889
- <h3>Since:</h3>
1068
+ <p class="tag_title">Since:</p>
890
1069
  <ul class="since">
891
1070
 
892
1071
  <li>
@@ -908,12 +1087,12 @@ write capacity.</p>
908
1087
  <pre class="lines">
909
1088
 
910
1089
 
911
- 42
912
- 43
913
- 44</pre>
1090
+ 49
1091
+ 50
1092
+ 51</pre>
914
1093
  </td>
915
1094
  <td>
916
- <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 42</span>
1095
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 49</span>
917
1096
 
918
1097
  <span class='kw'>def</span> <span class='id identifier rubyid_write_capacity'>write_capacity</span>
919
1098
  <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>
@@ -926,11 +1105,11 @@ write capacity.</p>
926
1105
  </div>
927
1106
 
928
1107
  </div>
929
-
1108
+
930
1109
  <div id="footer">
931
- Generated on Thu Apr 26 01:26:25 2012 by
1110
+ Generated on Thu Jun 27 21:59:12 2013 by
932
1111
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
933
- 0.7.5 (ruby-1.9.3).
1112
+ 0.8.6.1 (ruby-1.9.3).
934
1113
  </div>
935
1114
 
936
1115
  </body>