dynamoid 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +4 -0
- data/Gemfile +3 -2
- data/Gemfile.lock +40 -45
- data/README.markdown +55 -25
- data/Rakefile +31 -0
- data/VERSION +1 -1
- data/doc/Dynamoid.html +58 -42
- data/doc/Dynamoid/Adapter.html +666 -179
- data/doc/Dynamoid/Adapter/AwsSdk.html +752 -236
- data/doc/Dynamoid/Associations.html +28 -21
- data/doc/Dynamoid/Associations/Association.html +102 -49
- data/doc/Dynamoid/Associations/BelongsTo.html +28 -25
- data/doc/Dynamoid/Associations/ClassMethods.html +95 -52
- data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +28 -25
- data/doc/Dynamoid/Associations/HasMany.html +28 -25
- data/doc/Dynamoid/Associations/HasOne.html +28 -25
- data/doc/Dynamoid/Associations/ManyAssociation.html +138 -94
- data/doc/Dynamoid/Associations/SingleAssociation.html +67 -38
- data/doc/Dynamoid/Components.html +60 -22
- data/doc/Dynamoid/Config.html +61 -44
- data/doc/Dynamoid/Config/Options.html +90 -61
- data/doc/Dynamoid/Criteria.html +28 -21
- data/doc/Dynamoid/Criteria/Chain.html +508 -100
- data/doc/Dynamoid/Criteria/ClassMethods.html +26 -19
- data/doc/Dynamoid/Dirty.html +424 -0
- data/doc/Dynamoid/Dirty/ClassMethods.html +174 -0
- data/doc/Dynamoid/Document.html +451 -84
- data/doc/Dynamoid/Document/ClassMethods.html +281 -102
- data/doc/Dynamoid/Errors.html +29 -22
- data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +141 -0
- data/doc/Dynamoid/Errors/DocumentNotValid.html +36 -25
- data/doc/Dynamoid/Errors/Error.html +27 -20
- data/doc/Dynamoid/Errors/InvalidField.html +27 -19
- data/doc/Dynamoid/Errors/InvalidQuery.html +131 -0
- data/doc/Dynamoid/Errors/MissingRangeKey.html +27 -19
- data/doc/Dynamoid/Fields.html +94 -77
- data/doc/Dynamoid/Fields/ClassMethods.html +166 -37
- data/doc/Dynamoid/Finders.html +28 -21
- data/doc/Dynamoid/Finders/ClassMethods.html +505 -78
- data/doc/Dynamoid/IdentityMap.html +492 -0
- data/doc/Dynamoid/IdentityMap/ClassMethods.html +534 -0
- data/doc/Dynamoid/Indexes.html +41 -28
- data/doc/Dynamoid/Indexes/ClassMethods.html +45 -29
- data/doc/Dynamoid/Indexes/Index.html +100 -62
- data/doc/Dynamoid/Middleware.html +115 -0
- data/doc/Dynamoid/Middleware/IdentityMap.html +264 -0
- data/doc/Dynamoid/Persistence.html +326 -85
- data/doc/Dynamoid/Persistence/ClassMethods.html +275 -109
- data/doc/Dynamoid/Validations.html +47 -31
- data/doc/_index.html +116 -71
- data/doc/class_list.html +13 -7
- data/doc/css/full_list.css +4 -2
- data/doc/css/style.css +60 -44
- data/doc/file.LICENSE.html +26 -19
- data/doc/file.README.html +152 -48
- data/doc/file_list.html +14 -8
- data/doc/frames.html +20 -5
- data/doc/index.html +152 -48
- data/doc/js/app.js +52 -43
- data/doc/js/full_list.js +14 -9
- data/doc/js/jquery.js +4 -16
- data/doc/method_list.html +446 -540
- data/doc/top-level-namespace.html +27 -20
- data/{Dynamoid.gemspec → dynamoid.gemspec} +21 -8
- data/lib/dynamoid/adapter.rb +11 -10
- data/lib/dynamoid/adapter/aws_sdk.rb +40 -19
- data/lib/dynamoid/components.rb +2 -1
- data/lib/dynamoid/criteria/chain.rb +29 -11
- data/lib/dynamoid/dirty.rb +6 -0
- data/lib/dynamoid/document.rb +34 -19
- data/lib/dynamoid/fields.rb +36 -30
- data/lib/dynamoid/finders.rb +7 -5
- data/lib/dynamoid/persistence.rb +37 -10
- data/spec/app/models/address.rb +2 -0
- data/spec/app/models/camel_case.rb +10 -0
- data/spec/app/models/car.rb +6 -0
- data/spec/app/models/nuclear_submarine.rb +5 -0
- data/spec/app/models/subscription.rb +2 -2
- data/spec/app/models/vehicle.rb +7 -0
- data/spec/dynamoid/adapter/aws_sdk_spec.rb +20 -11
- data/spec/dynamoid/adapter_spec.rb +67 -82
- data/spec/dynamoid/associations/association_spec.rb +30 -30
- data/spec/dynamoid/criteria/chain_spec.rb +56 -9
- data/spec/dynamoid/criteria_spec.rb +3 -0
- data/spec/dynamoid/dirty_spec.rb +8 -0
- data/spec/dynamoid/document_spec.rb +109 -47
- data/spec/dynamoid/fields_spec.rb +32 -3
- data/spec/dynamoid/finders_spec.rb +12 -0
- data/spec/dynamoid/persistence_spec.rb +73 -8
- data/spec/spec_helper.rb +1 -0
- data/spec/support/with_partitioning.rb +15 -0
- metadata +22 -9
|
@@ -6,19 +6,21 @@
|
|
|
6
6
|
<title>
|
|
7
7
|
Module: Dynamoid::Persistence::ClassMethods
|
|
8
8
|
|
|
9
|
-
— Documentation by YARD 0.
|
|
9
|
+
— Documentation by YARD 0.8.6.1
|
|
10
10
|
|
|
11
11
|
</title>
|
|
12
12
|
|
|
13
|
-
<link rel="stylesheet" href="../../css/style.css" type="text/css"
|
|
13
|
+
<link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
|
|
14
14
|
|
|
15
|
-
<link rel="stylesheet" href="../../css/common.css" type="text/css"
|
|
15
|
+
<link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
|
|
16
16
|
|
|
17
17
|
<script type="text/javascript" charset="utf-8">
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
|
19
|
+
relpath = '../../';
|
|
20
|
+
framesUrl = "../../frames.html#!" + escape(window.location.href);
|
|
20
21
|
</script>
|
|
21
22
|
|
|
23
|
+
|
|
22
24
|
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
|
23
25
|
|
|
24
26
|
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
|
@@ -26,36 +28,41 @@
|
|
|
26
28
|
|
|
27
29
|
</head>
|
|
28
30
|
<body>
|
|
29
|
-
<script type="text/javascript" charset="utf-8">
|
|
30
|
-
if (window.top.frames.main) document.body.className = 'frames';
|
|
31
|
-
</script>
|
|
32
|
-
|
|
33
31
|
<div id="header">
|
|
34
32
|
<div id="menu">
|
|
35
33
|
|
|
36
|
-
<a href="../../_index.html">Index (C)</a> »
|
|
34
|
+
<a href="../../_index.html">Index (C)</a> »
|
|
37
35
|
<span class='title'><span class='object_link'><a href="../../Dynamoid.html" title="Dynamoid (module)">Dynamoid</a></span></span> » <span class='title'><span class='object_link'><a href="../Persistence.html" title="Dynamoid::Persistence (module)">Persistence</a></span></span>
|
|
38
36
|
»
|
|
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
|
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
|
46
|
+
href="../../class_list.html">
|
|
47
|
+
Class List
|
|
48
|
+
</a>
|
|
48
49
|
|
|
49
|
-
<a
|
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
|
51
|
+
href="../../method_list.html">
|
|
52
|
+
Method List
|
|
53
|
+
</a>
|
|
50
54
|
|
|
51
|
-
<a
|
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
|
56
|
+
href="../../file_list.html">
|
|
57
|
+
File List
|
|
58
|
+
</a>
|
|
52
59
|
|
|
53
60
|
</div>
|
|
54
61
|
<div class="clear"></div>
|
|
55
62
|
</div>
|
|
56
|
-
|
|
63
|
+
|
|
57
64
|
<iframe id="search_frame"></iframe>
|
|
58
|
-
|
|
65
|
+
|
|
59
66
|
<div id="content"><h1>Module: Dynamoid::Persistence::ClassMethods
|
|
60
67
|
|
|
61
68
|
|
|
@@ -106,11 +113,56 @@
|
|
|
106
113
|
|
|
107
114
|
|
|
108
115
|
|
|
116
|
+
|
|
109
117
|
|
|
110
118
|
|
|
111
119
|
<span class="summary_desc"><div class='inline'><p>Creates a table.</p>
|
|
112
120
|
</div></span>
|
|
113
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
|
+
|
|
114
166
|
</li>
|
|
115
167
|
|
|
116
168
|
|
|
@@ -128,6 +180,7 @@
|
|
|
128
180
|
|
|
129
181
|
|
|
130
182
|
|
|
183
|
+
|
|
131
184
|
|
|
132
185
|
|
|
133
186
|
<span class="summary_desc"><div class='inline'><p>Does a table with this name exist?.</p>
|
|
@@ -150,10 +203,10 @@
|
|
|
150
203
|
|
|
151
204
|
|
|
152
205
|
|
|
206
|
+
|
|
153
207
|
|
|
154
208
|
|
|
155
|
-
<span class="summary_desc"><div class='inline'
|
|
156
|
-
</div></span>
|
|
209
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
157
210
|
|
|
158
211
|
</li>
|
|
159
212
|
|
|
@@ -172,6 +225,7 @@
|
|
|
172
225
|
|
|
173
226
|
|
|
174
227
|
|
|
228
|
+
|
|
175
229
|
|
|
176
230
|
|
|
177
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>
|
|
@@ -183,7 +237,7 @@
|
|
|
183
237
|
<li class="public ">
|
|
184
238
|
<span class="summary_signature">
|
|
185
239
|
|
|
186
|
-
<a href="#undump_field-instance_method" title="#undump_field (instance method)">- (Object) <strong>undump_field</strong>(value,
|
|
240
|
+
<a href="#undump_field-instance_method" title="#undump_field (instance method)">- (Object) <strong>undump_field</strong>(value, options) </a>
|
|
187
241
|
|
|
188
242
|
|
|
189
243
|
|
|
@@ -194,6 +248,7 @@
|
|
|
194
248
|
|
|
195
249
|
|
|
196
250
|
|
|
251
|
+
|
|
197
252
|
|
|
198
253
|
|
|
199
254
|
<span class="summary_desc"><div class='inline'><p>Undump a value for a given type.</p>
|
|
@@ -209,16 +264,18 @@
|
|
|
209
264
|
|
|
210
265
|
<div id="instance_method_details" class="method_details_list">
|
|
211
266
|
<h2>Instance Method Details</h2>
|
|
212
|
-
|
|
267
|
+
|
|
213
268
|
|
|
214
269
|
<div class="method_details first">
|
|
215
|
-
<
|
|
270
|
+
<h3 class="signature first" id="create_table-instance_method">
|
|
216
271
|
|
|
217
272
|
- (<tt>Object</tt>) <strong>create_table</strong>(options = {})
|
|
218
273
|
|
|
219
274
|
|
|
220
275
|
|
|
221
|
-
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
</h3><div class="docstring">
|
|
222
279
|
<div class="discussion">
|
|
223
280
|
<p>Creates a table.</p>
|
|
224
281
|
|
|
@@ -226,7 +283,7 @@
|
|
|
226
283
|
</div>
|
|
227
284
|
</div>
|
|
228
285
|
<div class="tags">
|
|
229
|
-
<
|
|
286
|
+
<p class="tag_title">Parameters:</p>
|
|
230
287
|
<ul class="param">
|
|
231
288
|
|
|
232
289
|
<li>
|
|
@@ -251,7 +308,7 @@
|
|
|
251
308
|
|
|
252
309
|
|
|
253
310
|
|
|
254
|
-
<
|
|
311
|
+
<p class="tag_title">Options Hash (<tt>options</tt>):</p>
|
|
255
312
|
<ul class="option">
|
|
256
313
|
|
|
257
314
|
<li>
|
|
@@ -260,8 +317,10 @@
|
|
|
260
317
|
<span class="default">
|
|
261
318
|
|
|
262
319
|
</span>
|
|
263
|
-
|
|
320
|
+
|
|
321
|
+
— <div class='inline'><p>the id field for the table</p>
|
|
264
322
|
</div>
|
|
323
|
+
|
|
265
324
|
</li>
|
|
266
325
|
|
|
267
326
|
<li>
|
|
@@ -270,8 +329,10 @@
|
|
|
270
329
|
<span class="default">
|
|
271
330
|
|
|
272
331
|
</span>
|
|
273
|
-
|
|
332
|
+
|
|
333
|
+
— <div class='inline'><p>the actual name for the table</p>
|
|
274
334
|
</div>
|
|
335
|
+
|
|
275
336
|
</li>
|
|
276
337
|
|
|
277
338
|
<li>
|
|
@@ -280,8 +341,10 @@
|
|
|
280
341
|
<span class="default">
|
|
281
342
|
|
|
282
343
|
</span>
|
|
283
|
-
|
|
344
|
+
|
|
345
|
+
— <div class='inline'><p>set the read capacity for the table; does not work on existing tables</p>
|
|
284
346
|
</div>
|
|
347
|
+
|
|
285
348
|
</li>
|
|
286
349
|
|
|
287
350
|
<li>
|
|
@@ -290,8 +353,10 @@
|
|
|
290
353
|
<span class="default">
|
|
291
354
|
|
|
292
355
|
</span>
|
|
293
|
-
|
|
356
|
+
|
|
357
|
+
— <div class='inline'><p>set the write capacity for the table; does not work on existing tables</p>
|
|
294
358
|
</div>
|
|
359
|
+
|
|
295
360
|
</li>
|
|
296
361
|
|
|
297
362
|
<li>
|
|
@@ -300,14 +365,16 @@
|
|
|
300
365
|
<span class="default">
|
|
301
366
|
|
|
302
367
|
</span>
|
|
303
|
-
|
|
368
|
+
|
|
369
|
+
— <div class='inline'><p>=> :type} a hash of the name of the range key and a symbol of its type</p>
|
|
304
370
|
</div>
|
|
371
|
+
|
|
305
372
|
</li>
|
|
306
373
|
|
|
307
374
|
</ul>
|
|
308
375
|
|
|
309
376
|
|
|
310
|
-
<
|
|
377
|
+
<p class="tag_title">Since:</p>
|
|
311
378
|
<ul class="since">
|
|
312
379
|
|
|
313
380
|
<li>
|
|
@@ -329,6 +396,9 @@
|
|
|
329
396
|
<pre class="lines">
|
|
330
397
|
|
|
331
398
|
|
|
399
|
+
30
|
|
400
|
+
31
|
|
401
|
+
32
|
|
332
402
|
33
|
|
333
403
|
34
|
|
334
404
|
35
|
|
@@ -341,22 +411,29 @@
|
|
|
341
411
|
42
|
|
342
412
|
43
|
|
343
413
|
44
|
|
344
|
-
45
|
|
414
|
+
45
|
|
415
|
+
46
|
|
416
|
+
47</pre>
|
|
345
417
|
</td>
|
|
346
418
|
<td>
|
|
347
|
-
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line
|
|
419
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 30</span>
|
|
348
420
|
|
|
349
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'>=></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>
|
|
350
427
|
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
|
351
428
|
<span class='symbol'>:id</span> <span class='op'>=></span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='comma'>,</span>
|
|
352
429
|
<span class='symbol'>:table_name</span> <span class='op'>=></span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span>
|
|
353
430
|
<span class='symbol'>:write_capacity</span> <span class='op'>=></span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_write_capacity'>write_capacity</span><span class='comma'>,</span>
|
|
354
431
|
<span class='symbol'>:read_capacity</span> <span class='op'>=></span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_read_capacity'>read_capacity</span><span class='comma'>,</span>
|
|
355
|
-
<span class='symbol'>:range_key</span> <span class='op'>=></span> <span class='
|
|
432
|
+
<span class='symbol'>:range_key</span> <span class='op'>=></span> <span class='id identifier rubyid_range_key_hash'>range_key_hash</span>
|
|
356
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>
|
|
357
|
-
|
|
434
|
+
|
|
358
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>
|
|
359
|
-
|
|
436
|
+
|
|
360
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'><<</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>
|
|
361
438
|
<span class='kw'>end</span></pre>
|
|
362
439
|
</td>
|
|
@@ -365,13 +442,91 @@
|
|
|
365
442
|
</div>
|
|
366
443
|
|
|
367
444
|
<div class="method_details ">
|
|
368
|
-
<
|
|
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">
|
|
369
522
|
|
|
370
523
|
- (<tt>Boolean</tt>) <strong>table_exists?</strong>(table_name)
|
|
371
524
|
|
|
372
525
|
|
|
373
526
|
|
|
374
|
-
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
</h3><div class="docstring">
|
|
375
530
|
<div class="discussion">
|
|
376
531
|
<p>Does a table with this name exist?</p>
|
|
377
532
|
|
|
@@ -380,7 +535,7 @@
|
|
|
380
535
|
</div>
|
|
381
536
|
<div class="tags">
|
|
382
537
|
|
|
383
|
-
<
|
|
538
|
+
<p class="tag_title">Returns:</p>
|
|
384
539
|
<ul class="return">
|
|
385
540
|
|
|
386
541
|
<li>
|
|
@@ -393,7 +548,7 @@
|
|
|
393
548
|
</li>
|
|
394
549
|
|
|
395
550
|
</ul>
|
|
396
|
-
<
|
|
551
|
+
<p class="tag_title">Since:</p>
|
|
397
552
|
<ul class="since">
|
|
398
553
|
|
|
399
554
|
<li>
|
|
@@ -415,15 +570,15 @@
|
|
|
415
570
|
<pre class="lines">
|
|
416
571
|
|
|
417
572
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
573
|
+
52
|
|
574
|
+
53
|
|
575
|
+
54</pre>
|
|
421
576
|
</td>
|
|
422
577
|
<td>
|
|
423
|
-
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line
|
|
578
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 52</span>
|
|
424
579
|
|
|
425
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>
|
|
426
|
-
<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>
|
|
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>
|
|
427
582
|
<span class='kw'>end</span></pre>
|
|
428
583
|
</td>
|
|
429
584
|
</tr>
|
|
@@ -431,52 +586,29 @@
|
|
|
431
586
|
</div>
|
|
432
587
|
|
|
433
588
|
<div class="method_details ">
|
|
434
|
-
<
|
|
589
|
+
<h3 class="signature " id="table_name-instance_method">
|
|
435
590
|
|
|
436
591
|
- (<tt>Object</tt>) <strong>table_name</strong>
|
|
437
592
|
|
|
438
593
|
|
|
439
594
|
|
|
440
|
-
</p><div class="docstring">
|
|
441
|
-
<div class="discussion">
|
|
442
|
-
<p>Returns the name of the table the class is for.</p>
|
|
443
|
-
|
|
444
595
|
|
|
445
|
-
</div>
|
|
446
|
-
</div>
|
|
447
|
-
<div class="tags">
|
|
448
|
-
|
|
449
|
-
<h3>Since:</h3>
|
|
450
|
-
<ul class="since">
|
|
451
|
-
|
|
452
|
-
<li>
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
<div class='inline'><p>0.2.0</p>
|
|
459
|
-
</div>
|
|
460
|
-
|
|
461
|
-
</li>
|
|
462
596
|
|
|
463
|
-
</
|
|
464
|
-
|
|
465
|
-
</div><table class="source_code">
|
|
597
|
+
</h3><table class="source_code">
|
|
466
598
|
<tr>
|
|
467
599
|
<td>
|
|
468
600
|
<pre class="lines">
|
|
469
601
|
|
|
470
602
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
603
|
+
16
|
|
604
|
+
17
|
|
605
|
+
18</pre>
|
|
474
606
|
</td>
|
|
475
607
|
<td>
|
|
476
|
-
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line
|
|
608
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 16</span>
|
|
477
609
|
|
|
478
610
|
<span class='kw'>def</span> <span class='id identifier rubyid_table_name'>table_name</span>
|
|
479
|
-
<span class='tstring'><span class='tstring_beg'>"</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'
|
|
611
|
+
<span class='ivar'>@table_name</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span>
|
|
480
612
|
<span class='kw'>end</span></pre>
|
|
481
613
|
</td>
|
|
482
614
|
</tr>
|
|
@@ -484,13 +616,15 @@
|
|
|
484
616
|
</div>
|
|
485
617
|
|
|
486
618
|
<div class="method_details ">
|
|
487
|
-
<
|
|
619
|
+
<h3 class="signature " id="undump-instance_method">
|
|
488
620
|
|
|
489
621
|
- (<tt>Object</tt>) <strong>undump</strong>(incoming = nil)
|
|
490
622
|
|
|
491
623
|
|
|
492
624
|
|
|
493
|
-
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
</h3><div class="docstring">
|
|
494
628
|
<div class="discussion">
|
|
495
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>
|
|
496
630
|
|
|
@@ -499,7 +633,7 @@
|
|
|
499
633
|
</div>
|
|
500
634
|
<div class="tags">
|
|
501
635
|
|
|
502
|
-
<
|
|
636
|
+
<p class="tag_title">Since:</p>
|
|
503
637
|
<ul class="since">
|
|
504
638
|
|
|
505
639
|
<li>
|
|
@@ -521,26 +655,26 @@
|
|
|
521
655
|
<pre class="lines">
|
|
522
656
|
|
|
523
657
|
|
|
524
|
-
57
|
|
525
|
-
58
|
|
526
|
-
59
|
|
527
|
-
60
|
|
528
|
-
61
|
|
529
|
-
62
|
|
530
|
-
63
|
|
531
658
|
64
|
|
532
|
-
65
|
|
659
|
+
65
|
|
660
|
+
66
|
|
661
|
+
67
|
|
662
|
+
68
|
|
663
|
+
69
|
|
664
|
+
70
|
|
665
|
+
71
|
|
666
|
+
72</pre>
|
|
533
667
|
</td>
|
|
534
668
|
<td>
|
|
535
|
-
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line
|
|
669
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 64</span>
|
|
536
670
|
|
|
537
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>
|
|
538
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>
|
|
539
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>
|
|
540
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>
|
|
541
|
-
<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='
|
|
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>
|
|
542
676
|
<span class='kw'>end</span>
|
|
543
|
-
<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'
|
|
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>
|
|
544
678
|
<span class='kw'>end</span>
|
|
545
679
|
<span class='kw'>end</span></pre>
|
|
546
680
|
</td>
|
|
@@ -549,15 +683,17 @@
|
|
|
549
683
|
</div>
|
|
550
684
|
|
|
551
685
|
<div class="method_details ">
|
|
552
|
-
<
|
|
686
|
+
<h3 class="signature " id="undump_field-instance_method">
|
|
553
687
|
|
|
554
|
-
- (<tt>Object</tt>) <strong>undump_field</strong>(value,
|
|
688
|
+
- (<tt>Object</tt>) <strong>undump_field</strong>(value, options)
|
|
555
689
|
|
|
556
690
|
|
|
557
691
|
|
|
558
|
-
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
</h3><div class="docstring">
|
|
559
695
|
<div class="discussion">
|
|
560
|
-
<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
|
|
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
|
|
561
697
|
string, integer, float, set, array, datetime, or serialized return value.</p>
|
|
562
698
|
|
|
563
699
|
|
|
@@ -565,7 +701,7 @@ string, integer, float, set, array, datetime, or serialized return value.</p>
|
|
|
565
701
|
</div>
|
|
566
702
|
<div class="tags">
|
|
567
703
|
|
|
568
|
-
<
|
|
704
|
+
<p class="tag_title">Since:</p>
|
|
569
705
|
<ul class="since">
|
|
570
706
|
|
|
571
707
|
<li>
|
|
@@ -587,13 +723,6 @@ string, integer, float, set, array, datetime, or serialized return value.</p>
|
|
|
587
723
|
<pre class="lines">
|
|
588
724
|
|
|
589
725
|
|
|
590
|
-
71
|
|
591
|
-
72
|
|
592
|
-
73
|
|
593
|
-
74
|
|
594
|
-
75
|
|
595
|
-
76
|
|
596
|
-
77
|
|
597
726
|
78
|
|
598
727
|
79
|
|
599
728
|
80
|
|
@@ -616,15 +745,41 @@ string, integer, float, set, array, datetime, or serialized return value.</p>
|
|
|
616
745
|
97
|
|
617
746
|
98
|
|
618
747
|
99
|
|
619
|
-
100
|
|
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>
|
|
620
771
|
</td>
|
|
621
772
|
<td>
|
|
622
|
-
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line
|
|
773
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/persistence.rb', line 78</span>
|
|
623
774
|
|
|
624
|
-
<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
|
|
625
|
-
<span class='kw'>
|
|
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'>&&</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'>&&</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>
|
|
626
781
|
|
|
627
|
-
<span class='kw'>case</span> <span class='id identifier
|
|
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>
|
|
628
783
|
<span class='kw'>when</span> <span class='symbol'>:string</span>
|
|
629
784
|
<span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
|
630
785
|
<span class='kw'>when</span> <span class='symbol'>:integer</span>
|
|
@@ -645,10 +800,21 @@ string, integer, float, set, array, datetime, or serialized return value.</p>
|
|
|
645
800
|
<span class='kw'>end</span>
|
|
646
801
|
<span class='kw'>when</span> <span class='symbol'>:serialized</span>
|
|
647
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>
|
|
648
|
-
<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>
|
|
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>
|
|
649
804
|
<span class='kw'>else</span>
|
|
650
805
|
<span class='id identifier rubyid_value'>value</span>
|
|
651
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'>"</span><span class='tstring_content'>Boolean column neither true nor false</span><span class='tstring_end'>"</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'>"</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'>"</span></span>
|
|
652
818
|
<span class='kw'>end</span>
|
|
653
819
|
<span class='kw'>end</span></pre>
|
|
654
820
|
</td>
|
|
@@ -659,11 +825,11 @@ string, integer, float, set, array, datetime, or serialized return value.</p>
|
|
|
659
825
|
</div>
|
|
660
826
|
|
|
661
827
|
</div>
|
|
662
|
-
|
|
828
|
+
|
|
663
829
|
<div id="footer">
|
|
664
|
-
Generated on Thu
|
|
830
|
+
Generated on Thu Jun 27 21:59:13 2013 by
|
|
665
831
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
666
|
-
0.
|
|
832
|
+
0.8.6.1 (ruby-1.9.3).
|
|
667
833
|
</div>
|
|
668
834
|
|
|
669
835
|
</body>
|