dynamoid 0.7.1 → 1.0.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 (123) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -24
  3. data/README.markdown +89 -73
  4. data/Rakefile +10 -36
  5. data/dynamoid.gemspec +56 -191
  6. data/lib/dynamoid.rb +6 -4
  7. data/lib/dynamoid/adapter.rb +64 -150
  8. data/lib/dynamoid/adapter_plugin/aws_sdk_v2.rb +579 -0
  9. data/lib/dynamoid/components.rb +0 -1
  10. data/lib/dynamoid/config.rb +2 -5
  11. data/lib/dynamoid/criteria.rb +1 -1
  12. data/lib/dynamoid/criteria/chain.rb +27 -140
  13. data/lib/dynamoid/document.rb +2 -2
  14. data/lib/dynamoid/errors.rb +30 -9
  15. data/lib/dynamoid/fields.rb +15 -3
  16. data/lib/dynamoid/finders.rb +7 -6
  17. data/lib/dynamoid/identity_map.rb +1 -5
  18. data/lib/dynamoid/persistence.rb +108 -93
  19. metadata +56 -229
  20. data/.document +0 -5
  21. data/.rspec +0 -1
  22. data/.travis.yml +0 -7
  23. data/Gemfile.lock +0 -81
  24. data/Gemfile_activemodel4 +0 -24
  25. data/Gemfile_activemodel4.lock +0 -88
  26. data/VERSION +0 -1
  27. data/doc/.nojekyll +0 -0
  28. data/doc/Dynamoid.html +0 -328
  29. data/doc/Dynamoid/Adapter.html +0 -1872
  30. data/doc/Dynamoid/Adapter/AwsSdk.html +0 -2101
  31. data/doc/Dynamoid/Adapter/Local.html +0 -1574
  32. data/doc/Dynamoid/Associations.html +0 -138
  33. data/doc/Dynamoid/Associations/Association.html +0 -847
  34. data/doc/Dynamoid/Associations/BelongsTo.html +0 -161
  35. data/doc/Dynamoid/Associations/ClassMethods.html +0 -766
  36. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +0 -167
  37. data/doc/Dynamoid/Associations/HasMany.html +0 -167
  38. data/doc/Dynamoid/Associations/HasOne.html +0 -161
  39. data/doc/Dynamoid/Associations/ManyAssociation.html +0 -1684
  40. data/doc/Dynamoid/Associations/SingleAssociation.html +0 -627
  41. data/doc/Dynamoid/Components.html +0 -242
  42. data/doc/Dynamoid/Config.html +0 -412
  43. data/doc/Dynamoid/Config/Options.html +0 -638
  44. data/doc/Dynamoid/Criteria.html +0 -138
  45. data/doc/Dynamoid/Criteria/Chain.html +0 -1471
  46. data/doc/Dynamoid/Criteria/ClassMethods.html +0 -105
  47. data/doc/Dynamoid/Dirty.html +0 -424
  48. data/doc/Dynamoid/Dirty/ClassMethods.html +0 -174
  49. data/doc/Dynamoid/Document.html +0 -1033
  50. data/doc/Dynamoid/Document/ClassMethods.html +0 -1116
  51. data/doc/Dynamoid/Errors.html +0 -125
  52. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +0 -141
  53. data/doc/Dynamoid/Errors/DocumentNotValid.html +0 -221
  54. data/doc/Dynamoid/Errors/Error.html +0 -137
  55. data/doc/Dynamoid/Errors/InvalidField.html +0 -141
  56. data/doc/Dynamoid/Errors/InvalidQuery.html +0 -131
  57. data/doc/Dynamoid/Errors/MissingRangeKey.html +0 -141
  58. data/doc/Dynamoid/Fields.html +0 -686
  59. data/doc/Dynamoid/Fields/ClassMethods.html +0 -438
  60. data/doc/Dynamoid/Finders.html +0 -135
  61. data/doc/Dynamoid/Finders/ClassMethods.html +0 -943
  62. data/doc/Dynamoid/IdentityMap.html +0 -492
  63. data/doc/Dynamoid/IdentityMap/ClassMethods.html +0 -534
  64. data/doc/Dynamoid/Indexes.html +0 -321
  65. data/doc/Dynamoid/Indexes/ClassMethods.html +0 -369
  66. data/doc/Dynamoid/Indexes/Index.html +0 -1142
  67. data/doc/Dynamoid/Middleware.html +0 -115
  68. data/doc/Dynamoid/Middleware/IdentityMap.html +0 -264
  69. data/doc/Dynamoid/Persistence.html +0 -892
  70. data/doc/Dynamoid/Persistence/ClassMethods.html +0 -836
  71. data/doc/Dynamoid/Validations.html +0 -415
  72. data/doc/_index.html +0 -506
  73. data/doc/class_list.html +0 -53
  74. data/doc/css/common.css +0 -1
  75. data/doc/css/full_list.css +0 -57
  76. data/doc/css/style.css +0 -338
  77. data/doc/file.LICENSE.html +0 -73
  78. data/doc/file.README.html +0 -416
  79. data/doc/file_list.html +0 -58
  80. data/doc/frames.html +0 -28
  81. data/doc/index.html +0 -416
  82. data/doc/js/app.js +0 -214
  83. data/doc/js/full_list.js +0 -178
  84. data/doc/js/jquery.js +0 -4
  85. data/doc/method_list.html +0 -1144
  86. data/doc/top-level-namespace.html +0 -112
  87. data/lib/dynamoid/adapter/aws_sdk.rb +0 -287
  88. data/lib/dynamoid/indexes.rb +0 -69
  89. data/lib/dynamoid/indexes/index.rb +0 -103
  90. data/spec/app/models/address.rb +0 -13
  91. data/spec/app/models/camel_case.rb +0 -34
  92. data/spec/app/models/car.rb +0 -6
  93. data/spec/app/models/magazine.rb +0 -11
  94. data/spec/app/models/message.rb +0 -9
  95. data/spec/app/models/nuclear_submarine.rb +0 -5
  96. data/spec/app/models/sponsor.rb +0 -8
  97. data/spec/app/models/subscription.rb +0 -12
  98. data/spec/app/models/tweet.rb +0 -12
  99. data/spec/app/models/user.rb +0 -26
  100. data/spec/app/models/vehicle.rb +0 -7
  101. data/spec/dynamoid/adapter/aws_sdk_spec.rb +0 -376
  102. data/spec/dynamoid/adapter_spec.rb +0 -155
  103. data/spec/dynamoid/associations/association_spec.rb +0 -194
  104. data/spec/dynamoid/associations/belongs_to_spec.rb +0 -71
  105. data/spec/dynamoid/associations/has_and_belongs_to_many_spec.rb +0 -47
  106. data/spec/dynamoid/associations/has_many_spec.rb +0 -42
  107. data/spec/dynamoid/associations/has_one_spec.rb +0 -45
  108. data/spec/dynamoid/associations_spec.rb +0 -16
  109. data/spec/dynamoid/config_spec.rb +0 -27
  110. data/spec/dynamoid/criteria/chain_spec.rb +0 -210
  111. data/spec/dynamoid/criteria_spec.rb +0 -75
  112. data/spec/dynamoid/dirty_spec.rb +0 -57
  113. data/spec/dynamoid/document_spec.rb +0 -180
  114. data/spec/dynamoid/fields_spec.rb +0 -156
  115. data/spec/dynamoid/finders_spec.rb +0 -147
  116. data/spec/dynamoid/identity_map_spec.rb +0 -45
  117. data/spec/dynamoid/indexes/index_spec.rb +0 -104
  118. data/spec/dynamoid/indexes_spec.rb +0 -25
  119. data/spec/dynamoid/persistence_spec.rb +0 -301
  120. data/spec/dynamoid/validations_spec.rb +0 -36
  121. data/spec/dynamoid_spec.rb +0 -9
  122. data/spec/spec_helper.rb +0 -55
  123. data/spec/support/with_partitioning.rb +0 -15
@@ -1,836 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>
7
- Module: Dynamoid::Persistence::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="../Persistence.html" title="Dynamoid::Persistence (module)">Persistence</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::Persistence::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/persistence.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="#create_table-instance_method" title="#create_table (instance method)">- (Object) <strong>create_table</strong>(options = {}) </a>
106
-
107
-
108
-
109
- </span>
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
- <span class="summary_desc"><div class='inline'><p>Creates a table.</p>
120
- </div></span>
121
-
122
- </li>
123
-
124
-
125
- <li class="public ">
126
- <span class="summary_signature">
127
-
128
- <a href="#dynamo_type-instance_method" title="#dynamo_type (instance method)">- (Object) <strong>dynamo_type</strong>(type) </a>
129
-
130
-
131
-
132
- </span>
133
-
134
-
135
-
136
-
137
-
138
-
139
-
140
-
141
-
142
- <span class="summary_desc"><div class='inline'></div></span>
143
-
144
- </li>
145
-
146
-
147
- <li class="public ">
148
- <span class="summary_signature">
149
-
150
- <a href="#from_database-instance_method" title="#from_database (instance method)">- (Object) <strong>from_database</strong>(attrs = {}) </a>
151
-
152
-
153
-
154
- </span>
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
- <span class="summary_desc"><div class='inline'></div></span>
165
-
166
- </li>
167
-
168
-
169
- <li class="public ">
170
- <span class="summary_signature">
171
-
172
- <a href="#table_exists%3F-instance_method" title="#table_exists? (instance method)">- (Boolean) <strong>table_exists?</strong>(table_name) </a>
173
-
174
-
175
-
176
- </span>
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
- <span class="summary_desc"><div class='inline'><p>Does a table with this name exist?.</p>
187
- </div></span>
188
-
189
- </li>
190
-
191
-
192
- <li class="public ">
193
- <span class="summary_signature">
194
-
195
- <a href="#table_name-instance_method" title="#table_name (instance method)">- (Object) <strong>table_name</strong> </a>
196
-
197
-
198
-
199
- </span>
200
-
201
-
202
-
203
-
204
-
205
-
206
-
207
-
208
-
209
- <span class="summary_desc"><div class='inline'></div></span>
210
-
211
- </li>
212
-
213
-
214
- <li class="public ">
215
- <span class="summary_signature">
216
-
217
- <a href="#undump-instance_method" title="#undump (instance method)">- (Object) <strong>undump</strong>(incoming = nil) </a>
218
-
219
-
220
-
221
- </span>
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
- <span class="summary_desc"><div class='inline'><p>Undump an object into a hash, converting each type from a string representation of itself into the type specified by the field.</p>
232
- </div></span>
233
-
234
- </li>
235
-
236
-
237
- <li class="public ">
238
- <span class="summary_signature">
239
-
240
- <a href="#undump_field-instance_method" title="#undump_field (instance method)">- (Object) <strong>undump_field</strong>(value, options) </a>
241
-
242
-
243
-
244
- </span>
245
-
246
-
247
-
248
-
249
-
250
-
251
-
252
-
253
-
254
- <span class="summary_desc"><div class='inline'><p>Undump a value for a given type.</p>
255
- </div></span>
256
-
257
- </li>
258
-
259
-
260
- </ul>
261
-
262
-
263
-
264
-
265
- <div id="instance_method_details" class="method_details_list">
266
- <h2>Instance Method Details</h2>
267
-
268
-
269
- <div class="method_details first">
270
- <h3 class="signature first" id="create_table-instance_method">
271
-
272
- - (<tt>Object</tt>) <strong>create_table</strong>(options = {})
273
-
274
-
275
-
276
-
277
-
278
- </h3><div class="docstring">
279
- <div class="discussion">
280
- <p>Creates a table.</p>
281
-
282
-
283
- </div>
284
- </div>
285
- <div class="tags">
286
- <p class="tag_title">Parameters:</p>
287
- <ul class="param">
288
-
289
- <li>
290
-
291
- <span class='name'>options</span>
292
-
293
-
294
- <span class='type'>(<tt>Hash</tt>)</span>
295
-
296
-
297
- <em class="default">(defaults to: <tt>{}</tt>)</em>
298
-
299
-
300
- &mdash;
301
- <div class='inline'><p>options to pass for table creation</p>
302
- </div>
303
-
304
- </li>
305
-
306
- </ul>
307
-
308
-
309
-
310
-
311
- <p class="tag_title">Options Hash (<tt>options</tt>):</p>
312
- <ul class="option">
313
-
314
- <li>
315
- <span class="name">:id</span>
316
- <span class="type">(<tt>Symbol</tt>)</span>
317
- <span class="default">
318
-
319
- </span>
320
-
321
- &mdash; <div class='inline'><p>the id field for the table</p>
322
- </div>
323
-
324
- </li>
325
-
326
- <li>
327
- <span class="name">:table_name</span>
328
- <span class="type">(<tt>Symbol</tt>)</span>
329
- <span class="default">
330
-
331
- </span>
332
-
333
- &mdash; <div class='inline'><p>the actual name for the table</p>
334
- </div>
335
-
336
- </li>
337
-
338
- <li>
339
- <span class="name">:read_capacity</span>
340
- <span class="type">(<tt>Integer</tt>)</span>
341
- <span class="default">
342
-
343
- </span>
344
-
345
- &mdash; <div class='inline'><p>set the read capacity for the table; does not work on existing tables</p>
346
- </div>
347
-
348
- </li>
349
-
350
- <li>
351
- <span class="name">:write_capacity</span>
352
- <span class="type">(<tt>Integer</tt>)</span>
353
- <span class="default">
354
-
355
- </span>
356
-
357
- &mdash; <div class='inline'><p>set the write capacity for the table; does not work on existing tables</p>
358
- </div>
359
-
360
- </li>
361
-
362
- <li>
363
- <span class="name">{range_key</span>
364
- <span class="type">(<tt>Hash</tt>)</span>
365
- <span class="default">
366
-
367
- </span>
368
-
369
- &mdash; <div class='inline'><p>=&gt; :type} a hash of the name of the range key and a symbol of its type</p>
370
- </div>
371
-
372
- </li>
373
-
374
- </ul>
375
-
376
-
377
- <p class="tag_title">Since:</p>
378
- <ul class="since">
379
-
380
- <li>
381
-
382
-
383
-
384
-
385
-
386
- <div class='inline'><p>0.4.0</p>
387
- </div>
388
-
389
- </li>
390
-
391
- </ul>
392
-
393
- </div><table class="source_code">
394
- <tr>
395
- <td>
396
- <pre class="lines">
397
-
398
-
399
- 30
400
- 31
401
- 32
402
- 33
403
- 34
404
- 35
405
- 36
406
- 37
407
- 38
408
- 39
409
- 40
410
- 41
411
- 42
412
- 43
413
- 44
414
- 45
415
- 46
416
- 47</pre>
417
- </td>
418
- <td>
419
- <pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 30</span>
420
-
421
- <span class='kw'>def</span> <span class='id identifier rubyid_create_table'>create_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>
422
- <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_range_key'>range_key</span>
423
- <span class='id identifier rubyid_range_key_hash'>range_key_hash</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_range_key'>range_key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_dynamo_type'>dynamo_type</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='lbracket'>[</span><span class='id identifier rubyid_range_key'>range_key</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
424
- <span class='kw'>else</span>
425
- <span class='id identifier rubyid_range_key_hash'>range_key_hash</span> <span class='op'>=</span> <span class='kw'>nil</span>
426
- <span class='kw'>end</span>
427
- <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span>
428
- <span class='symbol'>:id</span> <span class='op'>=&gt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='comma'>,</span>
429
- <span class='symbol'>:table_name</span> <span class='op'>=&gt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span>
430
- <span class='symbol'>:write_capacity</span> <span class='op'>=&gt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_write_capacity'>write_capacity</span><span class='comma'>,</span>
431
- <span class='symbol'>:read_capacity</span> <span class='op'>=&gt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_read_capacity'>read_capacity</span><span class='comma'>,</span>
432
- <span class='symbol'>:range_key</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_range_key_hash'>range_key_hash</span>
433
- <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
434
-
435
- <span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_table_exists?'>table_exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:table_name</span><span class='rbracket'>]</span><span class='rparen'>)</span>
436
-
437
- <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_tables'>tables</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:table_name</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_create_table'>create_table</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:table_name</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
438
- <span class='kw'>end</span></pre>
439
- </td>
440
- </tr>
441
- </table>
442
- </div>
443
-
444
- <div class="method_details ">
445
- <h3 class="signature " id="dynamo_type-instance_method">
446
-
447
- - (<tt>Object</tt>) <strong>dynamo_type</strong>(type)
448
-
449
-
450
-
451
-
452
-
453
- </h3><table class="source_code">
454
- <tr>
455
- <td>
456
- <pre class="lines">
457
-
458
-
459
- 124
460
- 125
461
- 126
462
- 127
463
- 128
464
- 129
465
- 130
466
- 131
467
- 132
468
- 133</pre>
469
- </td>
470
- <td>
471
- <pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 124</span>
472
-
473
- <span class='kw'>def</span> <span class='id identifier rubyid_dynamo_type'>dynamo_type</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
474
- <span class='kw'>case</span> <span class='id identifier rubyid_type'>type</span>
475
- <span class='kw'>when</span> <span class='symbol'>:integer</span><span class='comma'>,</span> <span class='symbol'>:float</span><span class='comma'>,</span> <span class='symbol'>:datetime</span>
476
- <span class='symbol'>:number</span>
477
- <span class='kw'>when</span> <span class='symbol'>:string</span><span class='comma'>,</span> <span class='symbol'>:serialized</span>
478
- <span class='symbol'>:string</span>
479
- <span class='kw'>else</span>
480
- <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unknown type</span><span class='tstring_end'>'</span></span>
481
- <span class='kw'>end</span>
482
- <span class='kw'>end</span></pre>
483
- </td>
484
- </tr>
485
- </table>
486
- </div>
487
-
488
- <div class="method_details ">
489
- <h3 class="signature " id="from_database-instance_method">
490
-
491
- - (<tt>Object</tt>) <strong>from_database</strong>(attrs = {})
492
-
493
-
494
-
495
-
496
-
497
- </h3><table class="source_code">
498
- <tr>
499
- <td>
500
- <pre class="lines">
501
-
502
-
503
- 56
504
- 57
505
- 58
506
- 59</pre>
507
- </td>
508
- <td>
509
- <pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 56</span>
510
-
511
- <span class='kw'>def</span> <span class='id identifier rubyid_from_database'>from_database</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>
512
- <span class='id identifier rubyid_clazz'>clazz</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='op'>?</span> <span class='id identifier rubyid_obj'>obj</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='op'>:</span> <span class='kw'>self</span>
513
- <span class='id identifier rubyid_clazz'>clazz</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='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_r'>r</span><span class='op'>|</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_new_record'>new_record</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rbrace'>}</span>
514
- <span class='kw'>end</span></pre>
515
- </td>
516
- </tr>
517
- </table>
518
- </div>
519
-
520
- <div class="method_details ">
521
- <h3 class="signature " id="table_exists?-instance_method">
522
-
523
- - (<tt>Boolean</tt>) <strong>table_exists?</strong>(table_name)
524
-
525
-
526
-
527
-
528
-
529
- </h3><div class="docstring">
530
- <div class="discussion">
531
- <p>Does a table with this name exist?</p>
532
-
533
-
534
- </div>
535
- </div>
536
- <div class="tags">
537
-
538
- <p class="tag_title">Returns:</p>
539
- <ul class="return">
540
-
541
- <li>
542
-
543
-
544
- <span class='type'>(<tt>Boolean</tt>)</span>
545
-
546
-
547
-
548
- </li>
549
-
550
- </ul>
551
- <p class="tag_title">Since:</p>
552
- <ul class="since">
553
-
554
- <li>
555
-
556
-
557
-
558
-
559
-
560
- <div class='inline'><p>0.2.0</p>
561
- </div>
562
-
563
- </li>
564
-
565
- </ul>
566
-
567
- </div><table class="source_code">
568
- <tr>
569
- <td>
570
- <pre class="lines">
571
-
572
-
573
- 52
574
- 53
575
- 54</pre>
576
- </td>
577
- <td>
578
- <pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 52</span>
579
-
580
- <span class='kw'>def</span> <span class='id identifier rubyid_table_exists?'>table_exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rparen'>)</span>
581
- <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_tables'>tables</span> <span class='op'>?</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_tables'>tables</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>false</span>
582
- <span class='kw'>end</span></pre>
583
- </td>
584
- </tr>
585
- </table>
586
- </div>
587
-
588
- <div class="method_details ">
589
- <h3 class="signature " id="table_name-instance_method">
590
-
591
- - (<tt>Object</tt>) <strong>table_name</strong>
592
-
593
-
594
-
595
-
596
-
597
- </h3><table class="source_code">
598
- <tr>
599
- <td>
600
- <pre class="lines">
601
-
602
-
603
- 16
604
- 17
605
- 18</pre>
606
- </td>
607
- <td>
608
- <pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 16</span>
609
-
610
- <span class='kw'>def</span> <span class='id identifier rubyid_table_name'>table_name</span>
611
- <span class='ivar'>@table_name</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_namespace'>namespace</span><span class='rbrace'>}</span><span class='tstring_content'>_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_base_class'>base_class</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>::</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
612
- <span class='kw'>end</span></pre>
613
- </td>
614
- </tr>
615
- </table>
616
- </div>
617
-
618
- <div class="method_details ">
619
- <h3 class="signature " id="undump-instance_method">
620
-
621
- - (<tt>Object</tt>) <strong>undump</strong>(incoming = nil)
622
-
623
-
624
-
625
-
626
-
627
- </h3><div class="docstring">
628
- <div class="discussion">
629
- <p>Undump an object into a hash, converting each type from a string representation of itself into the type specified by the field.</p>
630
-
631
-
632
- </div>
633
- </div>
634
- <div class="tags">
635
-
636
- <p class="tag_title">Since:</p>
637
- <ul class="since">
638
-
639
- <li>
640
-
641
-
642
-
643
-
644
-
645
- <div class='inline'><p>0.2.0</p>
646
- </div>
647
-
648
- </li>
649
-
650
- </ul>
651
-
652
- </div><table class="source_code">
653
- <tr>
654
- <td>
655
- <pre class="lines">
656
-
657
-
658
- 64
659
- 65
660
- 66
661
- 67
662
- 68
663
- 69
664
- 70
665
- 71
666
- 72</pre>
667
- </td>
668
- <td>
669
- <pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 64</span>
670
-
671
- <span class='kw'>def</span> <span class='id identifier rubyid_undump'>undump</span><span class='lparen'>(</span><span class='id identifier rubyid_incoming'>incoming</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
672
- <span class='id identifier rubyid_incoming'>incoming</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_incoming'>incoming</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_symbolize_keys'>symbolize_keys</span>
673
- <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span>
674
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_attribute'>attribute</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>|</span>
675
- <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_attribute'>attribute</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_undump_field'>undump_field</span><span class='lparen'>(</span><span class='id identifier rubyid_incoming'>incoming</span><span class='lbracket'>[</span><span class='id identifier rubyid_attribute'>attribute</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
676
- <span class='kw'>end</span>
677
- <span class='id identifier rubyid_incoming'>incoming</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_attribute'>attribute</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_attribute'>attribute</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>unless</span> <span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span> <span class='id identifier rubyid_attribute'>attribute</span> <span class='rbrace'>}</span>
678
- <span class='kw'>end</span>
679
- <span class='kw'>end</span></pre>
680
- </td>
681
- </tr>
682
- </table>
683
- </div>
684
-
685
- <div class="method_details ">
686
- <h3 class="signature " id="undump_field-instance_method">
687
-
688
- - (<tt>Object</tt>) <strong>undump_field</strong>(value, options)
689
-
690
-
691
-
692
-
693
-
694
- </h3><div class="docstring">
695
- <div class="discussion">
696
- <p>Undump a value for a given type. Given a string, it'll determine (based on the type provided) whether to turn it into a
697
- string, integer, float, set, array, datetime, or serialized return value.</p>
698
-
699
-
700
- </div>
701
- </div>
702
- <div class="tags">
703
-
704
- <p class="tag_title">Since:</p>
705
- <ul class="since">
706
-
707
- <li>
708
-
709
-
710
-
711
-
712
-
713
- <div class='inline'><p>0.2.0</p>
714
- </div>
715
-
716
- </li>
717
-
718
- </ul>
719
-
720
- </div><table class="source_code">
721
- <tr>
722
- <td>
723
- <pre class="lines">
724
-
725
-
726
- 78
727
- 79
728
- 80
729
- 81
730
- 82
731
- 83
732
- 84
733
- 85
734
- 86
735
- 87
736
- 88
737
- 89
738
- 90
739
- 91
740
- 92
741
- 93
742
- 94
743
- 95
744
- 96
745
- 97
746
- 98
747
- 99
748
- 100
749
- 101
750
- 102
751
- 103
752
- 104
753
- 105
754
- 106
755
- 107
756
- 108
757
- 109
758
- 110
759
- 111
760
- 112
761
- 113
762
- 114
763
- 115
764
- 116
765
- 117
766
- 118
767
- 119
768
- 120
769
- 121
770
- 122</pre>
771
- </td>
772
- <td>
773
- <pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 78</span>
774
-
775
- <span class='kw'>def</span> <span class='id identifier rubyid_undump_field'>undump_field</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
776
- <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='lparen'>(</span><span class='id identifier rubyid_default_value'>default_value</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:default</span><span class='rbracket'>]</span><span class='rparen'>)</span>
777
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_default_value'>default_value</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_default_value'>default_value</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span> <span class='op'>:</span> <span class='id identifier rubyid_default_value'>default_value</span>
778
- <span class='kw'>else</span>
779
- <span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:empty?</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rparen'>)</span>
780
- <span class='kw'>end</span>
781
-
782
- <span class='kw'>case</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span>
783
- <span class='kw'>when</span> <span class='symbol'>:string</span>
784
- <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
785
- <span class='kw'>when</span> <span class='symbol'>:integer</span>
786
- <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
787
- <span class='kw'>when</span> <span class='symbol'>:float</span>
788
- <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
789
- <span class='kw'>when</span> <span class='symbol'>:set</span><span class='comma'>,</span> <span class='symbol'>:array</span>
790
- <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Set</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span>
791
- <span class='id identifier rubyid_value'>value</span>
792
- <span class='kw'>else</span>
793
- <span class='const'>Set</span><span class='lbracket'>[</span><span class='id identifier rubyid_value'>value</span><span class='rbracket'>]</span>
794
- <span class='kw'>end</span>
795
- <span class='kw'>when</span> <span class='symbol'>:datetime</span>
796
- <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Date</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>DateTime</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Time</span><span class='rparen'>)</span>
797
- <span class='id identifier rubyid_value'>value</span>
798
- <span class='kw'>else</span>
799
- <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_datetime'>to_datetime</span>
800
- <span class='kw'>end</span>
801
- <span class='kw'>when</span> <span class='symbol'>:serialized</span>
802
- <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>String</span><span class='rparen'>)</span>
803
- <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:serializer</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:serializer</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>YAML</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
804
- <span class='kw'>else</span>
805
- <span class='id identifier rubyid_value'>value</span>
806
- <span class='kw'>end</span>
807
- <span class='kw'>when</span> <span class='symbol'>:boolean</span>
808
- <span class='comment'># persisted as 't', but because undump is called during initialize it can come in as true
809
- </span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>t</span><span class='tstring_end'>'</span></span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>==</span> <span class='kw'>true</span>
810
- <span class='kw'>true</span>
811
- <span class='kw'>elsif</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>f</span><span class='tstring_end'>'</span></span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>==</span> <span class='kw'>false</span>
812
- <span class='kw'>false</span>
813
- <span class='kw'>else</span>
814
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Boolean column neither true nor false</span><span class='tstring_end'>&quot;</span></span>
815
- <span class='kw'>end</span>
816
- <span class='kw'>else</span>
817
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unknown type </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
818
- <span class='kw'>end</span>
819
- <span class='kw'>end</span></pre>
820
- </td>
821
- </tr>
822
- </table>
823
- </div>
824
-
825
- </div>
826
-
827
- </div>
828
-
829
- <div id="footer">
830
- Generated on Thu Jun 27 21:59:13 2013 by
831
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
832
- 0.8.6.1 (ruby-1.9.3).
833
- </div>
834
-
835
- </body>
836
- </html>