dynamoid-moda 0.7.1

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 (136) hide show
  1. checksums.yaml +15 -0
  2. data/.document +5 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +7 -0
  5. data/Gemfile +24 -0
  6. data/Gemfile.lock +118 -0
  7. data/Gemfile_activemodel4 +24 -0
  8. data/Gemfile_activemodel4.lock +88 -0
  9. data/LICENSE.txt +20 -0
  10. data/README.markdown +360 -0
  11. data/Rakefile +93 -0
  12. data/VERSION +1 -0
  13. data/doc/.nojekyll +0 -0
  14. data/doc/Dynamoid.html +328 -0
  15. data/doc/Dynamoid/Adapter.html +1872 -0
  16. data/doc/Dynamoid/Adapter/AwsSdk.html +2101 -0
  17. data/doc/Dynamoid/Adapter/Local.html +1574 -0
  18. data/doc/Dynamoid/Associations.html +138 -0
  19. data/doc/Dynamoid/Associations/Association.html +847 -0
  20. data/doc/Dynamoid/Associations/BelongsTo.html +161 -0
  21. data/doc/Dynamoid/Associations/ClassMethods.html +766 -0
  22. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +167 -0
  23. data/doc/Dynamoid/Associations/HasMany.html +167 -0
  24. data/doc/Dynamoid/Associations/HasOne.html +161 -0
  25. data/doc/Dynamoid/Associations/ManyAssociation.html +1684 -0
  26. data/doc/Dynamoid/Associations/SingleAssociation.html +627 -0
  27. data/doc/Dynamoid/Components.html +242 -0
  28. data/doc/Dynamoid/Config.html +412 -0
  29. data/doc/Dynamoid/Config/Options.html +638 -0
  30. data/doc/Dynamoid/Criteria.html +138 -0
  31. data/doc/Dynamoid/Criteria/Chain.html +1471 -0
  32. data/doc/Dynamoid/Criteria/ClassMethods.html +105 -0
  33. data/doc/Dynamoid/Dirty.html +424 -0
  34. data/doc/Dynamoid/Dirty/ClassMethods.html +174 -0
  35. data/doc/Dynamoid/Document.html +1033 -0
  36. data/doc/Dynamoid/Document/ClassMethods.html +1116 -0
  37. data/doc/Dynamoid/Errors.html +125 -0
  38. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +141 -0
  39. data/doc/Dynamoid/Errors/DocumentNotValid.html +221 -0
  40. data/doc/Dynamoid/Errors/Error.html +137 -0
  41. data/doc/Dynamoid/Errors/InvalidField.html +141 -0
  42. data/doc/Dynamoid/Errors/InvalidQuery.html +131 -0
  43. data/doc/Dynamoid/Errors/MissingRangeKey.html +141 -0
  44. data/doc/Dynamoid/Fields.html +686 -0
  45. data/doc/Dynamoid/Fields/ClassMethods.html +438 -0
  46. data/doc/Dynamoid/Finders.html +135 -0
  47. data/doc/Dynamoid/Finders/ClassMethods.html +943 -0
  48. data/doc/Dynamoid/IdentityMap.html +492 -0
  49. data/doc/Dynamoid/IdentityMap/ClassMethods.html +534 -0
  50. data/doc/Dynamoid/Indexes.html +321 -0
  51. data/doc/Dynamoid/Indexes/ClassMethods.html +369 -0
  52. data/doc/Dynamoid/Indexes/Index.html +1142 -0
  53. data/doc/Dynamoid/Middleware.html +115 -0
  54. data/doc/Dynamoid/Middleware/IdentityMap.html +264 -0
  55. data/doc/Dynamoid/Persistence.html +892 -0
  56. data/doc/Dynamoid/Persistence/ClassMethods.html +836 -0
  57. data/doc/Dynamoid/Validations.html +415 -0
  58. data/doc/_index.html +506 -0
  59. data/doc/class_list.html +53 -0
  60. data/doc/css/common.css +1 -0
  61. data/doc/css/full_list.css +57 -0
  62. data/doc/css/style.css +338 -0
  63. data/doc/file.LICENSE.html +73 -0
  64. data/doc/file.README.html +416 -0
  65. data/doc/file_list.html +58 -0
  66. data/doc/frames.html +28 -0
  67. data/doc/index.html +416 -0
  68. data/doc/js/app.js +214 -0
  69. data/doc/js/full_list.js +178 -0
  70. data/doc/js/jquery.js +4 -0
  71. data/doc/method_list.html +1144 -0
  72. data/doc/top-level-namespace.html +112 -0
  73. data/dynamoid-moda.gemspec +210 -0
  74. data/dynamoid.gemspec +208 -0
  75. data/lib/dynamoid.rb +46 -0
  76. data/lib/dynamoid/adapter.rb +267 -0
  77. data/lib/dynamoid/adapter/aws_sdk.rb +309 -0
  78. data/lib/dynamoid/associations.rb +106 -0
  79. data/lib/dynamoid/associations/association.rb +105 -0
  80. data/lib/dynamoid/associations/belongs_to.rb +44 -0
  81. data/lib/dynamoid/associations/has_and_belongs_to_many.rb +40 -0
  82. data/lib/dynamoid/associations/has_many.rb +39 -0
  83. data/lib/dynamoid/associations/has_one.rb +39 -0
  84. data/lib/dynamoid/associations/many_association.rb +191 -0
  85. data/lib/dynamoid/associations/single_association.rb +69 -0
  86. data/lib/dynamoid/components.rb +37 -0
  87. data/lib/dynamoid/config.rb +57 -0
  88. data/lib/dynamoid/config/options.rb +78 -0
  89. data/lib/dynamoid/criteria.rb +29 -0
  90. data/lib/dynamoid/criteria/chain.rb +326 -0
  91. data/lib/dynamoid/dirty.rb +47 -0
  92. data/lib/dynamoid/document.rb +199 -0
  93. data/lib/dynamoid/errors.rb +28 -0
  94. data/lib/dynamoid/fields.rb +138 -0
  95. data/lib/dynamoid/finders.rb +133 -0
  96. data/lib/dynamoid/identity_map.rb +96 -0
  97. data/lib/dynamoid/indexes.rb +69 -0
  98. data/lib/dynamoid/indexes/index.rb +103 -0
  99. data/lib/dynamoid/middleware/identity_map.rb +16 -0
  100. data/lib/dynamoid/persistence.rb +292 -0
  101. data/lib/dynamoid/validations.rb +36 -0
  102. data/spec/app/models/address.rb +13 -0
  103. data/spec/app/models/camel_case.rb +34 -0
  104. data/spec/app/models/car.rb +6 -0
  105. data/spec/app/models/magazine.rb +11 -0
  106. data/spec/app/models/message.rb +9 -0
  107. data/spec/app/models/nuclear_submarine.rb +5 -0
  108. data/spec/app/models/sponsor.rb +8 -0
  109. data/spec/app/models/subscription.rb +12 -0
  110. data/spec/app/models/tweet.rb +12 -0
  111. data/spec/app/models/user.rb +26 -0
  112. data/spec/app/models/vehicle.rb +7 -0
  113. data/spec/dynamoid/adapter/aws_sdk_spec.rb +376 -0
  114. data/spec/dynamoid/adapter_spec.rb +155 -0
  115. data/spec/dynamoid/associations/association_spec.rb +194 -0
  116. data/spec/dynamoid/associations/belongs_to_spec.rb +71 -0
  117. data/spec/dynamoid/associations/has_and_belongs_to_many_spec.rb +47 -0
  118. data/spec/dynamoid/associations/has_many_spec.rb +42 -0
  119. data/spec/dynamoid/associations/has_one_spec.rb +45 -0
  120. data/spec/dynamoid/associations_spec.rb +16 -0
  121. data/spec/dynamoid/config_spec.rb +27 -0
  122. data/spec/dynamoid/criteria/chain_spec.rb +210 -0
  123. data/spec/dynamoid/criteria_spec.rb +75 -0
  124. data/spec/dynamoid/dirty_spec.rb +57 -0
  125. data/spec/dynamoid/document_spec.rb +180 -0
  126. data/spec/dynamoid/fields_spec.rb +156 -0
  127. data/spec/dynamoid/finders_spec.rb +147 -0
  128. data/spec/dynamoid/identity_map_spec.rb +45 -0
  129. data/spec/dynamoid/indexes/index_spec.rb +104 -0
  130. data/spec/dynamoid/indexes_spec.rb +25 -0
  131. data/spec/dynamoid/persistence_spec.rb +301 -0
  132. data/spec/dynamoid/validations_spec.rb +36 -0
  133. data/spec/dynamoid_spec.rb +14 -0
  134. data/spec/spec_helper.rb +55 -0
  135. data/spec/support/with_partitioning.rb +15 -0
  136. metadata +363 -0
@@ -0,0 +1,1116 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: Dynamoid::Document::ClassMethods
8
+
9
+ &mdash; Documentation by YARD 0.8.6.1
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../../';
20
+ framesUrl = "../../frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../../_index.html">Index (C)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../../Dynamoid.html" title="Dynamoid (module)">Dynamoid</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Document</a></span></span>
36
+ &raquo;
37
+ <span class="title">ClassMethods</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Module: Dynamoid::Document::ClassMethods
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ <dt class="r1 last">Defined in:</dt>
82
+ <dd class="r1 last">lib/dynamoid/document.rb</dd>
83
+
84
+ </dl>
85
+ <div class="clear"></div>
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <h2>
96
+ Instance Method Summary
97
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
98
+ </h2>
99
+
100
+ <ul class="summary">
101
+
102
+ <li class="public ">
103
+ <span class="summary_signature">
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
+
127
+ <a href="#build-instance_method" title="#build (instance method)">- (Dynamoid::Document) <strong>build</strong>(attrs = {}) </a>
128
+
129
+
130
+
131
+ </span>
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ <span class="summary_desc"><div class='inline'><p>Initialize a new object.</p>
142
+ </div></span>
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
+
167
+ </li>
168
+
169
+
170
+ <li class="public ">
171
+ <span class="summary_signature">
172
+
173
+ <a href="#create-instance_method" title="#create (instance method)">- (Dynamoid::Document) <strong>create</strong>(attrs = {}) </a>
174
+
175
+
176
+
177
+ </span>
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+ <span class="summary_desc"><div class='inline'><p>Initialize a new object and immediately save it to the database.</p>
188
+ </div></span>
189
+
190
+ </li>
191
+
192
+
193
+ <li class="public ">
194
+ <span class="summary_signature">
195
+
196
+ <a href="#create%21-instance_method" title="#create! (instance method)">- (Dynamoid::Document) <strong>create!</strong>(attrs = {}) </a>
197
+
198
+
199
+
200
+ </span>
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+ <span class="summary_desc"><div class='inline'><p>Initialize a new object and immediately save it to the database.</p>
211
+ </div></span>
212
+
213
+ </li>
214
+
215
+
216
+ <li class="public ">
217
+ <span class="summary_signature">
218
+
219
+ <a href="#exists%3F-instance_method" title="#exists? (instance method)">- (Boolean) <strong>exists?</strong>(id_or_conditions = {}) </a>
220
+
221
+
222
+
223
+ </span>
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+ <span class="summary_desc"><div class='inline'><p>Does this object exist?.</p>
234
+ </div></span>
235
+
236
+ </li>
237
+
238
+
239
+ <li class="public ">
240
+ <span class="summary_signature">
241
+
242
+ <a href="#hash_key-instance_method" title="#hash_key (instance method)">- (Object) <strong>hash_key</strong> </a>
243
+
244
+
245
+
246
+ </span>
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+ <span class="summary_desc"><div class='inline'><p>Returns the id field for this class.</p>
257
+ </div></span>
258
+
259
+ </li>
260
+
261
+
262
+ <li class="public ">
263
+ <span class="summary_signature">
264
+
265
+ <a href="#read_capacity-instance_method" title="#read_capacity (instance method)">- (Object) <strong>read_capacity</strong> </a>
266
+
267
+
268
+
269
+ </span>
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+ <span class="summary_desc"><div class='inline'><p>Returns the read_capacity for this table.</p>
280
+ </div></span>
281
+
282
+ </li>
283
+
284
+
285
+ <li class="public ">
286
+ <span class="summary_signature">
287
+
288
+ <a href="#table-instance_method" title="#table (instance method)">- (Object) <strong>table</strong>(options = {}) </a>
289
+
290
+
291
+
292
+ </span>
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
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
303
+ write capacity.</p>
304
+ </div></span>
305
+
306
+ </li>
307
+
308
+
309
+ <li class="public ">
310
+ <span class="summary_signature">
311
+
312
+ <a href="#write_capacity-instance_method" title="#write_capacity (instance method)">- (Object) <strong>write_capacity</strong> </a>
313
+
314
+
315
+
316
+ </span>
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+ <span class="summary_desc"><div class='inline'><p>Returns the write_capacity for this table.</p>
327
+ </div></span>
328
+
329
+ </li>
330
+
331
+
332
+ </ul>
333
+
334
+
335
+
336
+
337
+ <div id="instance_method_details" class="method_details_list">
338
+ <h2>Instance Method Details</h2>
339
+
340
+
341
+ <div class="method_details first">
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">
373
+
374
+ - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>build</strong>(attrs = {})
375
+
376
+
377
+
378
+
379
+
380
+ </h3><div class="docstring">
381
+ <div class="discussion">
382
+ <p>Initialize a new object.</p>
383
+
384
+
385
+ </div>
386
+ </div>
387
+ <div class="tags">
388
+ <p class="tag_title">Parameters:</p>
389
+ <ul class="param">
390
+
391
+ <li>
392
+
393
+ <span class='name'>attrs</span>
394
+
395
+
396
+ <span class='type'>(<tt>Hash</tt>)</span>
397
+
398
+
399
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
400
+
401
+
402
+ &mdash;
403
+ <div class='inline'><p>Attributes with which to create the object.</p>
404
+ </div>
405
+
406
+ </li>
407
+
408
+ </ul>
409
+
410
+ <p class="tag_title">Returns:</p>
411
+ <ul class="return">
412
+
413
+ <li>
414
+
415
+
416
+ <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
417
+
418
+
419
+
420
+ &mdash;
421
+ <div class='inline'><p>the new document</p>
422
+ </div>
423
+
424
+ </li>
425
+
426
+ </ul>
427
+ <p class="tag_title">Since:</p>
428
+ <ul class="since">
429
+
430
+ <li>
431
+
432
+
433
+
434
+
435
+
436
+ <div class='inline'><p>0.2.0</p>
437
+ </div>
438
+
439
+ </li>
440
+
441
+ </ul>
442
+
443
+ </div><table class="source_code">
444
+ <tr>
445
+ <td>
446
+ <pre class="lines">
447
+
448
+
449
+ 96
450
+ 97
451
+ 98</pre>
452
+ </td>
453
+ <td>
454
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 96</span>
455
+
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>
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>
458
+ <span class='kw'>end</span></pre>
459
+ </td>
460
+ </tr>
461
+ </table>
462
+ </div>
463
+
464
+ <div class="method_details ">
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">
521
+
522
+ - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>create</strong>(attrs = {})
523
+
524
+
525
+
526
+
527
+
528
+ </h3><div class="docstring">
529
+ <div class="discussion">
530
+ <p>Initialize a new object and immediately save it to the database.</p>
531
+
532
+
533
+ </div>
534
+ </div>
535
+ <div class="tags">
536
+ <p class="tag_title">Parameters:</p>
537
+ <ul class="param">
538
+
539
+ <li>
540
+
541
+ <span class='name'>attrs</span>
542
+
543
+
544
+ <span class='type'>(<tt>Hash</tt>)</span>
545
+
546
+
547
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
548
+
549
+
550
+ &mdash;
551
+ <div class='inline'><p>Attributes with which to create the object.</p>
552
+ </div>
553
+
554
+ </li>
555
+
556
+ </ul>
557
+
558
+ <p class="tag_title">Returns:</p>
559
+ <ul class="return">
560
+
561
+ <li>
562
+
563
+
564
+ <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
565
+
566
+
567
+
568
+ &mdash;
569
+ <div class='inline'><p>the saved document</p>
570
+ </div>
571
+
572
+ </li>
573
+
574
+ </ul>
575
+ <p class="tag_title">Since:</p>
576
+ <ul class="since">
577
+
578
+ <li>
579
+
580
+
581
+
582
+
583
+
584
+ <div class='inline'><p>0.2.0</p>
585
+ </div>
586
+
587
+ </li>
588
+
589
+ </ul>
590
+
591
+ </div><table class="source_code">
592
+ <tr>
593
+ <td>
594
+ <pre class="lines">
595
+
596
+
597
+ 74
598
+ 75
599
+ 76</pre>
600
+ </td>
601
+ <td>
602
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 74</span>
603
+
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>
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>
606
+ <span class='kw'>end</span></pre>
607
+ </td>
608
+ </tr>
609
+ </table>
610
+ </div>
611
+
612
+ <div class="method_details ">
613
+ <h3 class="signature " id="create!-instance_method">
614
+
615
+ - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>create!</strong>(attrs = {})
616
+
617
+
618
+
619
+
620
+
621
+ </h3><div class="docstring">
622
+ <div class="discussion">
623
+ <p>Initialize a new object and immediately save it to the database. Raise an exception if persistence failed.</p>
624
+
625
+
626
+ </div>
627
+ </div>
628
+ <div class="tags">
629
+ <p class="tag_title">Parameters:</p>
630
+ <ul class="param">
631
+
632
+ <li>
633
+
634
+ <span class='name'>attrs</span>
635
+
636
+
637
+ <span class='type'>(<tt>Hash</tt>)</span>
638
+
639
+
640
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
641
+
642
+
643
+ &mdash;
644
+ <div class='inline'><p>Attributes with which to create the object.</p>
645
+ </div>
646
+
647
+ </li>
648
+
649
+ </ul>
650
+
651
+ <p class="tag_title">Returns:</p>
652
+ <ul class="return">
653
+
654
+ <li>
655
+
656
+
657
+ <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
658
+
659
+
660
+
661
+ &mdash;
662
+ <div class='inline'><p>the saved document</p>
663
+ </div>
664
+
665
+ </li>
666
+
667
+ </ul>
668
+ <p class="tag_title">Since:</p>
669
+ <ul class="since">
670
+
671
+ <li>
672
+
673
+
674
+
675
+
676
+
677
+ <div class='inline'><p>0.2.0</p>
678
+ </div>
679
+
680
+ </li>
681
+
682
+ </ul>
683
+
684
+ </div><table class="source_code">
685
+ <tr>
686
+ <td>
687
+ <pre class="lines">
688
+
689
+
690
+ 85
691
+ 86
692
+ 87</pre>
693
+ </td>
694
+ <td>
695
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 85</span>
696
+
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>
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>
699
+ <span class='kw'>end</span></pre>
700
+ </td>
701
+ </tr>
702
+ </table>
703
+ </div>
704
+
705
+ <div class="method_details ">
706
+ <h3 class="signature " id="exists?-instance_method">
707
+
708
+ - (<tt>Boolean</tt>) <strong>exists?</strong>(id_or_conditions = {})
709
+
710
+
711
+
712
+
713
+
714
+ </h3><div class="docstring">
715
+ <div class="discussion">
716
+ <p>Does this object exist?</p>
717
+
718
+
719
+ </div>
720
+ </div>
721
+ <div class="tags">
722
+ <p class="tag_title">Parameters:</p>
723
+ <ul class="param">
724
+
725
+ <li>
726
+
727
+ <span class='name'>id_or_conditions</span>
728
+
729
+
730
+ <span class='type'>(<tt>Mixed</tt>)</span>
731
+
732
+
733
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
734
+
735
+
736
+ &mdash;
737
+ <div class='inline'><p>the id of the object or a hash with the options to filter from.</p>
738
+ </div>
739
+
740
+ </li>
741
+
742
+ </ul>
743
+
744
+ <p class="tag_title">Returns:</p>
745
+ <ul class="return">
746
+
747
+ <li>
748
+
749
+
750
+ <span class='type'>(<tt>Boolean</tt>)</span>
751
+
752
+
753
+
754
+ &mdash;
755
+ <div class='inline'><p>true/false</p>
756
+ </div>
757
+
758
+ </li>
759
+
760
+ </ul>
761
+ <p class="tag_title">Since:</p>
762
+ <ul class="since">
763
+
764
+ <li>
765
+
766
+
767
+
768
+
769
+
770
+ <div class='inline'><p>0.2.0</p>
771
+ </div>
772
+
773
+ </li>
774
+
775
+ </ul>
776
+
777
+ </div><table class="source_code">
778
+ <tr>
779
+ <td>
780
+ <pre class="lines">
781
+
782
+
783
+ 107
784
+ 108
785
+ 109
786
+ 110
787
+ 111
788
+ 112</pre>
789
+ </td>
790
+ <td>
791
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 107</span>
792
+
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>
798
+ <span class='kw'>end</span></pre>
799
+ </td>
800
+ </tr>
801
+ </table>
802
+ </div>
803
+
804
+ <div class="method_details ">
805
+ <h3 class="signature " id="hash_key-instance_method">
806
+
807
+ - (<tt>Object</tt>) <strong>hash_key</strong>
808
+
809
+
810
+
811
+
812
+
813
+ </h3><div class="docstring">
814
+ <div class="discussion">
815
+ <p>Returns the id field for this class.</p>
816
+
817
+
818
+ </div>
819
+ </div>
820
+ <div class="tags">
821
+
822
+ <p class="tag_title">Since:</p>
823
+ <ul class="since">
824
+
825
+ <li>
826
+
827
+
828
+
829
+
830
+
831
+ <div class='inline'><p>0.4.0</p>
832
+ </div>
833
+
834
+ </li>
835
+
836
+ </ul>
837
+
838
+ </div><table class="source_code">
839
+ <tr>
840
+ <td>
841
+ <pre class="lines">
842
+
843
+
844
+ 56
845
+ 57
846
+ 58</pre>
847
+ </td>
848
+ <td>
849
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 56</span>
850
+
851
+ <span class='kw'>def</span> <span class='id identifier rubyid_hash_key'>hash_key</span>
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>
853
+ <span class='kw'>end</span></pre>
854
+ </td>
855
+ </tr>
856
+ </table>
857
+ </div>
858
+
859
+ <div class="method_details ">
860
+ <h3 class="signature " id="read_capacity-instance_method">
861
+
862
+ - (<tt>Object</tt>) <strong>read_capacity</strong>
863
+
864
+
865
+
866
+
867
+
868
+ </h3><div class="docstring">
869
+ <div class="discussion">
870
+ <p>Returns the read_capacity for this table.</p>
871
+
872
+
873
+ </div>
874
+ </div>
875
+ <div class="tags">
876
+
877
+ <p class="tag_title">Since:</p>
878
+ <ul class="since">
879
+
880
+ <li>
881
+
882
+
883
+
884
+
885
+
886
+ <div class='inline'><p>0.4.0</p>
887
+ </div>
888
+
889
+ </li>
890
+
891
+ </ul>
892
+
893
+ </div><table class="source_code">
894
+ <tr>
895
+ <td>
896
+ <pre class="lines">
897
+
898
+
899
+ 42
900
+ 43
901
+ 44</pre>
902
+ </td>
903
+ <td>
904
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 42</span>
905
+
906
+ <span class='kw'>def</span> <span class='id identifier rubyid_read_capacity'>read_capacity</span>
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>
908
+ <span class='kw'>end</span></pre>
909
+ </td>
910
+ </tr>
911
+ </table>
912
+ </div>
913
+
914
+ <div class="method_details ">
915
+ <h3 class="signature " id="table-instance_method">
916
+
917
+ - (<tt>Object</tt>) <strong>table</strong>(options = {})
918
+
919
+
920
+
921
+
922
+
923
+ </h3><div class="docstring">
924
+ <div class="discussion">
925
+ <p>Set up table options, including naming it whatever you want, setting the id key, and manually overriding read and
926
+ write capacity.</p>
927
+
928
+
929
+ </div>
930
+ </div>
931
+ <div class="tags">
932
+ <p class="tag_title">Parameters:</p>
933
+ <ul class="param">
934
+
935
+ <li>
936
+
937
+ <span class='name'>options</span>
938
+
939
+
940
+ <span class='type'>(<tt>Hash</tt>)</span>
941
+
942
+
943
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
944
+
945
+
946
+ &mdash;
947
+ <div class='inline'><p>options to pass for this table</p>
948
+ </div>
949
+
950
+ </li>
951
+
952
+ </ul>
953
+
954
+
955
+
956
+
957
+ <p class="tag_title">Options Hash (<tt>options</tt>):</p>
958
+ <ul class="option">
959
+
960
+ <li>
961
+ <span class="name">:name</span>
962
+ <span class="type">(<tt>Symbol</tt>)</span>
963
+ <span class="default">
964
+
965
+ </span>
966
+
967
+ &mdash; <div class='inline'><p>the name for the table; this still gets namespaced</p>
968
+ </div>
969
+
970
+ </li>
971
+
972
+ <li>
973
+ <span class="name">:id</span>
974
+ <span class="type">(<tt>Symbol</tt>)</span>
975
+ <span class="default">
976
+
977
+ </span>
978
+
979
+ &mdash; <div class='inline'><p>id column for the table</p>
980
+ </div>
981
+
982
+ </li>
983
+
984
+ <li>
985
+ <span class="name">:read_capacity</span>
986
+ <span class="type">(<tt>Integer</tt>)</span>
987
+ <span class="default">
988
+
989
+ </span>
990
+
991
+ &mdash; <div class='inline'><p>set the read capacity for the table; does not work on existing tables</p>
992
+ </div>
993
+
994
+ </li>
995
+
996
+ <li>
997
+ <span class="name">:write_capacity</span>
998
+ <span class="type">(<tt>Integer</tt>)</span>
999
+ <span class="default">
1000
+
1001
+ </span>
1002
+
1003
+ &mdash; <div class='inline'><p>set the write capacity for the table; does not work on existing tables</p>
1004
+ </div>
1005
+
1006
+ </li>
1007
+
1008
+ </ul>
1009
+
1010
+
1011
+ <p class="tag_title">Since:</p>
1012
+ <ul class="since">
1013
+
1014
+ <li>
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+ <div class='inline'><p>0.4.0</p>
1021
+ </div>
1022
+
1023
+ </li>
1024
+
1025
+ </ul>
1026
+
1027
+ </div><table class="source_code">
1028
+ <tr>
1029
+ <td>
1030
+ <pre class="lines">
1031
+
1032
+
1033
+ 30
1034
+ 31
1035
+ 32
1036
+ 33</pre>
1037
+ </td>
1038
+ <td>
1039
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 30</span>
1040
+
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>
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>
1044
+ <span class='kw'>end</span></pre>
1045
+ </td>
1046
+ </tr>
1047
+ </table>
1048
+ </div>
1049
+
1050
+ <div class="method_details ">
1051
+ <h3 class="signature " id="write_capacity-instance_method">
1052
+
1053
+ - (<tt>Object</tt>) <strong>write_capacity</strong>
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+ </h3><div class="docstring">
1060
+ <div class="discussion">
1061
+ <p>Returns the write_capacity for this table.</p>
1062
+
1063
+
1064
+ </div>
1065
+ </div>
1066
+ <div class="tags">
1067
+
1068
+ <p class="tag_title">Since:</p>
1069
+ <ul class="since">
1070
+
1071
+ <li>
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+ <div class='inline'><p>0.4.0</p>
1078
+ </div>
1079
+
1080
+ </li>
1081
+
1082
+ </ul>
1083
+
1084
+ </div><table class="source_code">
1085
+ <tr>
1086
+ <td>
1087
+ <pre class="lines">
1088
+
1089
+
1090
+ 49
1091
+ 50
1092
+ 51</pre>
1093
+ </td>
1094
+ <td>
1095
+ <pre class="code"><span class="info file"># File 'lib/dynamoid/document.rb', line 49</span>
1096
+
1097
+ <span class='kw'>def</span> <span class='id identifier rubyid_write_capacity'>write_capacity</span>
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>
1099
+ <span class='kw'>end</span></pre>
1100
+ </td>
1101
+ </tr>
1102
+ </table>
1103
+ </div>
1104
+
1105
+ </div>
1106
+
1107
+ </div>
1108
+
1109
+ <div id="footer">
1110
+ Generated on Thu Jun 27 21:59:12 2013 by
1111
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1112
+ 0.8.6.1 (ruby-1.9.3).
1113
+ </div>
1114
+
1115
+ </body>
1116
+ </html>