dynamoid 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. data/.travis.yml +4 -0
  2. data/Gemfile +3 -2
  3. data/Gemfile.lock +40 -45
  4. data/README.markdown +55 -25
  5. data/Rakefile +31 -0
  6. data/VERSION +1 -1
  7. data/doc/Dynamoid.html +58 -42
  8. data/doc/Dynamoid/Adapter.html +666 -179
  9. data/doc/Dynamoid/Adapter/AwsSdk.html +752 -236
  10. data/doc/Dynamoid/Associations.html +28 -21
  11. data/doc/Dynamoid/Associations/Association.html +102 -49
  12. data/doc/Dynamoid/Associations/BelongsTo.html +28 -25
  13. data/doc/Dynamoid/Associations/ClassMethods.html +95 -52
  14. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +28 -25
  15. data/doc/Dynamoid/Associations/HasMany.html +28 -25
  16. data/doc/Dynamoid/Associations/HasOne.html +28 -25
  17. data/doc/Dynamoid/Associations/ManyAssociation.html +138 -94
  18. data/doc/Dynamoid/Associations/SingleAssociation.html +67 -38
  19. data/doc/Dynamoid/Components.html +60 -22
  20. data/doc/Dynamoid/Config.html +61 -44
  21. data/doc/Dynamoid/Config/Options.html +90 -61
  22. data/doc/Dynamoid/Criteria.html +28 -21
  23. data/doc/Dynamoid/Criteria/Chain.html +508 -100
  24. data/doc/Dynamoid/Criteria/ClassMethods.html +26 -19
  25. data/doc/Dynamoid/Dirty.html +424 -0
  26. data/doc/Dynamoid/Dirty/ClassMethods.html +174 -0
  27. data/doc/Dynamoid/Document.html +451 -84
  28. data/doc/Dynamoid/Document/ClassMethods.html +281 -102
  29. data/doc/Dynamoid/Errors.html +29 -22
  30. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +141 -0
  31. data/doc/Dynamoid/Errors/DocumentNotValid.html +36 -25
  32. data/doc/Dynamoid/Errors/Error.html +27 -20
  33. data/doc/Dynamoid/Errors/InvalidField.html +27 -19
  34. data/doc/Dynamoid/Errors/InvalidQuery.html +131 -0
  35. data/doc/Dynamoid/Errors/MissingRangeKey.html +27 -19
  36. data/doc/Dynamoid/Fields.html +94 -77
  37. data/doc/Dynamoid/Fields/ClassMethods.html +166 -37
  38. data/doc/Dynamoid/Finders.html +28 -21
  39. data/doc/Dynamoid/Finders/ClassMethods.html +505 -78
  40. data/doc/Dynamoid/IdentityMap.html +492 -0
  41. data/doc/Dynamoid/IdentityMap/ClassMethods.html +534 -0
  42. data/doc/Dynamoid/Indexes.html +41 -28
  43. data/doc/Dynamoid/Indexes/ClassMethods.html +45 -29
  44. data/doc/Dynamoid/Indexes/Index.html +100 -62
  45. data/doc/Dynamoid/Middleware.html +115 -0
  46. data/doc/Dynamoid/Middleware/IdentityMap.html +264 -0
  47. data/doc/Dynamoid/Persistence.html +326 -85
  48. data/doc/Dynamoid/Persistence/ClassMethods.html +275 -109
  49. data/doc/Dynamoid/Validations.html +47 -31
  50. data/doc/_index.html +116 -71
  51. data/doc/class_list.html +13 -7
  52. data/doc/css/full_list.css +4 -2
  53. data/doc/css/style.css +60 -44
  54. data/doc/file.LICENSE.html +26 -19
  55. data/doc/file.README.html +152 -48
  56. data/doc/file_list.html +14 -8
  57. data/doc/frames.html +20 -5
  58. data/doc/index.html +152 -48
  59. data/doc/js/app.js +52 -43
  60. data/doc/js/full_list.js +14 -9
  61. data/doc/js/jquery.js +4 -16
  62. data/doc/method_list.html +446 -540
  63. data/doc/top-level-namespace.html +27 -20
  64. data/{Dynamoid.gemspec → dynamoid.gemspec} +21 -8
  65. data/lib/dynamoid/adapter.rb +11 -10
  66. data/lib/dynamoid/adapter/aws_sdk.rb +40 -19
  67. data/lib/dynamoid/components.rb +2 -1
  68. data/lib/dynamoid/criteria/chain.rb +29 -11
  69. data/lib/dynamoid/dirty.rb +6 -0
  70. data/lib/dynamoid/document.rb +34 -19
  71. data/lib/dynamoid/fields.rb +36 -30
  72. data/lib/dynamoid/finders.rb +7 -5
  73. data/lib/dynamoid/persistence.rb +37 -10
  74. data/spec/app/models/address.rb +2 -0
  75. data/spec/app/models/camel_case.rb +10 -0
  76. data/spec/app/models/car.rb +6 -0
  77. data/spec/app/models/nuclear_submarine.rb +5 -0
  78. data/spec/app/models/subscription.rb +2 -2
  79. data/spec/app/models/vehicle.rb +7 -0
  80. data/spec/dynamoid/adapter/aws_sdk_spec.rb +20 -11
  81. data/spec/dynamoid/adapter_spec.rb +67 -82
  82. data/spec/dynamoid/associations/association_spec.rb +30 -30
  83. data/spec/dynamoid/criteria/chain_spec.rb +56 -9
  84. data/spec/dynamoid/criteria_spec.rb +3 -0
  85. data/spec/dynamoid/dirty_spec.rb +8 -0
  86. data/spec/dynamoid/document_spec.rb +109 -47
  87. data/spec/dynamoid/fields_spec.rb +32 -3
  88. data/spec/dynamoid/finders_spec.rb +12 -0
  89. data/spec/dynamoid/persistence_spec.rb +73 -8
  90. data/spec/spec_helper.rb +1 -0
  91. data/spec/support/with_partitioning.rb +15 -0
  92. metadata +22 -9
@@ -6,19 +6,21 @@
6
6
  <title>
7
7
  Module: Dynamoid::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>