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.
- checksums.yaml +15 -0
- data/.document +5 -0
- data/.rspec +1 -0
- data/.travis.yml +7 -0
- data/Gemfile +24 -0
- data/Gemfile.lock +118 -0
- data/Gemfile_activemodel4 +24 -0
- data/Gemfile_activemodel4.lock +88 -0
- data/LICENSE.txt +20 -0
- data/README.markdown +360 -0
- data/Rakefile +93 -0
- data/VERSION +1 -0
- data/doc/.nojekyll +0 -0
- data/doc/Dynamoid.html +328 -0
- data/doc/Dynamoid/Adapter.html +1872 -0
- data/doc/Dynamoid/Adapter/AwsSdk.html +2101 -0
- data/doc/Dynamoid/Adapter/Local.html +1574 -0
- data/doc/Dynamoid/Associations.html +138 -0
- data/doc/Dynamoid/Associations/Association.html +847 -0
- data/doc/Dynamoid/Associations/BelongsTo.html +161 -0
- data/doc/Dynamoid/Associations/ClassMethods.html +766 -0
- data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +167 -0
- data/doc/Dynamoid/Associations/HasMany.html +167 -0
- data/doc/Dynamoid/Associations/HasOne.html +161 -0
- data/doc/Dynamoid/Associations/ManyAssociation.html +1684 -0
- data/doc/Dynamoid/Associations/SingleAssociation.html +627 -0
- data/doc/Dynamoid/Components.html +242 -0
- data/doc/Dynamoid/Config.html +412 -0
- data/doc/Dynamoid/Config/Options.html +638 -0
- data/doc/Dynamoid/Criteria.html +138 -0
- data/doc/Dynamoid/Criteria/Chain.html +1471 -0
- data/doc/Dynamoid/Criteria/ClassMethods.html +105 -0
- data/doc/Dynamoid/Dirty.html +424 -0
- data/doc/Dynamoid/Dirty/ClassMethods.html +174 -0
- data/doc/Dynamoid/Document.html +1033 -0
- data/doc/Dynamoid/Document/ClassMethods.html +1116 -0
- data/doc/Dynamoid/Errors.html +125 -0
- data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +141 -0
- data/doc/Dynamoid/Errors/DocumentNotValid.html +221 -0
- data/doc/Dynamoid/Errors/Error.html +137 -0
- data/doc/Dynamoid/Errors/InvalidField.html +141 -0
- data/doc/Dynamoid/Errors/InvalidQuery.html +131 -0
- data/doc/Dynamoid/Errors/MissingRangeKey.html +141 -0
- data/doc/Dynamoid/Fields.html +686 -0
- data/doc/Dynamoid/Fields/ClassMethods.html +438 -0
- data/doc/Dynamoid/Finders.html +135 -0
- data/doc/Dynamoid/Finders/ClassMethods.html +943 -0
- data/doc/Dynamoid/IdentityMap.html +492 -0
- data/doc/Dynamoid/IdentityMap/ClassMethods.html +534 -0
- data/doc/Dynamoid/Indexes.html +321 -0
- data/doc/Dynamoid/Indexes/ClassMethods.html +369 -0
- data/doc/Dynamoid/Indexes/Index.html +1142 -0
- data/doc/Dynamoid/Middleware.html +115 -0
- data/doc/Dynamoid/Middleware/IdentityMap.html +264 -0
- data/doc/Dynamoid/Persistence.html +892 -0
- data/doc/Dynamoid/Persistence/ClassMethods.html +836 -0
- data/doc/Dynamoid/Validations.html +415 -0
- data/doc/_index.html +506 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +338 -0
- data/doc/file.LICENSE.html +73 -0
- data/doc/file.README.html +416 -0
- data/doc/file_list.html +58 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +416 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +178 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +1144 -0
- data/doc/top-level-namespace.html +112 -0
- data/dynamoid-moda.gemspec +210 -0
- data/dynamoid.gemspec +208 -0
- data/lib/dynamoid.rb +46 -0
- data/lib/dynamoid/adapter.rb +267 -0
- data/lib/dynamoid/adapter/aws_sdk.rb +309 -0
- data/lib/dynamoid/associations.rb +106 -0
- data/lib/dynamoid/associations/association.rb +105 -0
- data/lib/dynamoid/associations/belongs_to.rb +44 -0
- data/lib/dynamoid/associations/has_and_belongs_to_many.rb +40 -0
- data/lib/dynamoid/associations/has_many.rb +39 -0
- data/lib/dynamoid/associations/has_one.rb +39 -0
- data/lib/dynamoid/associations/many_association.rb +191 -0
- data/lib/dynamoid/associations/single_association.rb +69 -0
- data/lib/dynamoid/components.rb +37 -0
- data/lib/dynamoid/config.rb +57 -0
- data/lib/dynamoid/config/options.rb +78 -0
- data/lib/dynamoid/criteria.rb +29 -0
- data/lib/dynamoid/criteria/chain.rb +326 -0
- data/lib/dynamoid/dirty.rb +47 -0
- data/lib/dynamoid/document.rb +199 -0
- data/lib/dynamoid/errors.rb +28 -0
- data/lib/dynamoid/fields.rb +138 -0
- data/lib/dynamoid/finders.rb +133 -0
- data/lib/dynamoid/identity_map.rb +96 -0
- data/lib/dynamoid/indexes.rb +69 -0
- data/lib/dynamoid/indexes/index.rb +103 -0
- data/lib/dynamoid/middleware/identity_map.rb +16 -0
- data/lib/dynamoid/persistence.rb +292 -0
- data/lib/dynamoid/validations.rb +36 -0
- data/spec/app/models/address.rb +13 -0
- data/spec/app/models/camel_case.rb +34 -0
- data/spec/app/models/car.rb +6 -0
- data/spec/app/models/magazine.rb +11 -0
- data/spec/app/models/message.rb +9 -0
- data/spec/app/models/nuclear_submarine.rb +5 -0
- data/spec/app/models/sponsor.rb +8 -0
- data/spec/app/models/subscription.rb +12 -0
- data/spec/app/models/tweet.rb +12 -0
- data/spec/app/models/user.rb +26 -0
- data/spec/app/models/vehicle.rb +7 -0
- data/spec/dynamoid/adapter/aws_sdk_spec.rb +376 -0
- data/spec/dynamoid/adapter_spec.rb +155 -0
- data/spec/dynamoid/associations/association_spec.rb +194 -0
- data/spec/dynamoid/associations/belongs_to_spec.rb +71 -0
- data/spec/dynamoid/associations/has_and_belongs_to_many_spec.rb +47 -0
- data/spec/dynamoid/associations/has_many_spec.rb +42 -0
- data/spec/dynamoid/associations/has_one_spec.rb +45 -0
- data/spec/dynamoid/associations_spec.rb +16 -0
- data/spec/dynamoid/config_spec.rb +27 -0
- data/spec/dynamoid/criteria/chain_spec.rb +210 -0
- data/spec/dynamoid/criteria_spec.rb +75 -0
- data/spec/dynamoid/dirty_spec.rb +57 -0
- data/spec/dynamoid/document_spec.rb +180 -0
- data/spec/dynamoid/fields_spec.rb +156 -0
- data/spec/dynamoid/finders_spec.rb +147 -0
- data/spec/dynamoid/identity_map_spec.rb +45 -0
- data/spec/dynamoid/indexes/index_spec.rb +104 -0
- data/spec/dynamoid/indexes_spec.rb +25 -0
- data/spec/dynamoid/persistence_spec.rb +301 -0
- data/spec/dynamoid/validations_spec.rb +36 -0
- data/spec/dynamoid_spec.rb +14 -0
- data/spec/spec_helper.rb +55 -0
- data/spec/support/with_partitioning.rb +15 -0
- metadata +363 -0
|
@@ -0,0 +1,836 @@
|
|
|
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
|
+
— 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> »
|
|
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>
|
|
36
|
+
»
|
|
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
|
+
—
|
|
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
|
+
— <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
|
+
— <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
|
+
— <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
|
+
— <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
|
+
— <div class='inline'><p>=> :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'>=></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'>=></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'>=></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'>=></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'>=></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'>=></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'><<</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'>"</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>
|
|
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'>&&</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>
|
|
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'>"</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>
|
|
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>
|