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,943 @@
|
|
|
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::Finders::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="../Finders.html" title="Dynamoid::Finders (module)">Finders</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::Finders::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/finders.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="#find-instance_method" title="#find (instance method)">- (Dynamoid::Document) <strong>find</strong>(*ids) </a>
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
</span>
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
<span class="summary_desc"><div class='inline'><p>Find one or many objects, specified by one id or an array of ids.</p>
|
|
120
|
+
</div></span>
|
|
121
|
+
|
|
122
|
+
</li>
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
<li class="public ">
|
|
126
|
+
<span class="summary_signature">
|
|
127
|
+
|
|
128
|
+
<a href="#find_all-instance_method" title="#find_all (instance method)">- (Object) <strong>find_all</strong>(ids, options = {}) </a>
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
</span>
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
<span class="summary_desc"><div class='inline'><p>Return objects found by the given array of ids, either hash keys, or hash/range key combinations using BatchGet.</p>
|
|
143
|
+
</div></span>
|
|
144
|
+
|
|
145
|
+
</li>
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
<li class="public ">
|
|
149
|
+
<span class="summary_signature">
|
|
150
|
+
|
|
151
|
+
<a href="#find_all_by_composite_key-instance_method" title="#find_all_by_composite_key (instance method)">- (Array) <strong>find_all_by_composite_key</strong>(hash_key, options = {}) </a>
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
</span>
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
<span class="summary_desc"><div class='inline'><p>Find all objects by hash and range keys.</p>
|
|
166
|
+
</div></span>
|
|
167
|
+
|
|
168
|
+
</li>
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
<li class="public ">
|
|
172
|
+
<span class="summary_signature">
|
|
173
|
+
|
|
174
|
+
<a href="#find_by_composite_key-instance_method" title="#find_by_composite_key (instance method)">- (Object) <strong>find_by_composite_key</strong>(hash_key, range_key, options = {}) </a>
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
</span>
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
<span class="summary_desc"><div class='inline'><p>Find one object directly by hash and range keys.</p>
|
|
189
|
+
</div></span>
|
|
190
|
+
|
|
191
|
+
</li>
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
<li class="public ">
|
|
195
|
+
<span class="summary_signature">
|
|
196
|
+
|
|
197
|
+
<a href="#find_by_id-instance_method" title="#find_by_id (instance method)">- (Dynamoid::Document) <strong>find_by_id</strong>(id, options = {}) </a>
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
</span>
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
<span class="summary_desc"><div class='inline'><p>Find one object directly by id.</p>
|
|
212
|
+
</div></span>
|
|
213
|
+
|
|
214
|
+
</li>
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
<li class="public ">
|
|
218
|
+
<span class="summary_signature">
|
|
219
|
+
|
|
220
|
+
<a href="#method_missing-instance_method" title="#method_missing (instance method)">- (Dynamoid::Document/Array) <strong>method_missing</strong>(method, *args) </a>
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
</span>
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
<span class="summary_desc"><div class='inline'><p>Find using exciting method_missing finders attributes.</p>
|
|
235
|
+
</div></span>
|
|
236
|
+
|
|
237
|
+
</li>
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
</ul>
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
<div id="method_missing_details" class="method_details_list">
|
|
244
|
+
<h2>Dynamic Method Handling</h2>
|
|
245
|
+
<p class="notice this">
|
|
246
|
+
This class handles dynamic methods through the <tt>method_missing</tt> method
|
|
247
|
+
|
|
248
|
+
</p>
|
|
249
|
+
|
|
250
|
+
<div class="method_details first">
|
|
251
|
+
<h3 class="signature first" id="method_missing-instance_method">
|
|
252
|
+
|
|
253
|
+
- (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span>/Array</tt>) <strong>method_missing</strong>(method, *args)
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
</h3><div class="docstring">
|
|
260
|
+
<div class="discussion">
|
|
261
|
+
<p>Find using exciting method_missing finders attributes. Uses criteria chains under the hood to accomplish this neatness.</p>
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
</div>
|
|
265
|
+
</div>
|
|
266
|
+
<div class="tags">
|
|
267
|
+
|
|
268
|
+
<div class="examples">
|
|
269
|
+
<p class="tag_title">Examples:</p>
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
<p class="example_title"><div class='inline'><p>find a user by a first name</p>
|
|
273
|
+
</div></p>
|
|
274
|
+
|
|
275
|
+
<pre class="example code"><code><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_find_by_first_name'>find_by_first_name</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Josh</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></code></pre>
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
<p class="example_title"><div class='inline'><p>find all users by first and last name</p>
|
|
279
|
+
</div></p>
|
|
280
|
+
|
|
281
|
+
<pre class="example code"><code><span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_find_all_by_first_name_and_last_name'>find_all_by_first_name_and_last_name</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Josh</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Symonds</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></code></pre>
|
|
282
|
+
|
|
283
|
+
</div>
|
|
284
|
+
|
|
285
|
+
<p class="tag_title">Returns:</p>
|
|
286
|
+
<ul class="return">
|
|
287
|
+
|
|
288
|
+
<li>
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span>/Array</tt>)</span>
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
—
|
|
296
|
+
<div class='inline'><p>the found object, or an array of found objects if all was somewhere in the method</p>
|
|
297
|
+
</div>
|
|
298
|
+
|
|
299
|
+
</li>
|
|
300
|
+
|
|
301
|
+
</ul>
|
|
302
|
+
<p class="tag_title">Since:</p>
|
|
303
|
+
<ul class="since">
|
|
304
|
+
|
|
305
|
+
<li>
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
<div class='inline'><p>0.2.0</p>
|
|
312
|
+
</div>
|
|
313
|
+
|
|
314
|
+
</li>
|
|
315
|
+
|
|
316
|
+
</ul>
|
|
317
|
+
|
|
318
|
+
</div><table class="source_code">
|
|
319
|
+
<tr>
|
|
320
|
+
<td>
|
|
321
|
+
<pre class="lines">
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
113
|
|
325
|
+
114
|
|
326
|
+
115
|
|
327
|
+
116
|
|
328
|
+
117
|
|
329
|
+
118
|
|
330
|
+
119
|
|
331
|
+
120
|
|
332
|
+
121
|
|
333
|
+
122
|
|
334
|
+
123
|
|
335
|
+
124
|
|
336
|
+
125
|
|
337
|
+
126
|
|
338
|
+
127
|
|
339
|
+
128
|
|
340
|
+
129</pre>
|
|
341
|
+
</td>
|
|
342
|
+
<td>
|
|
343
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 113</span>
|
|
344
|
+
|
|
345
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
|
346
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_method'>method</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>find</span><span class='regexp_end'>/</span></span>
|
|
347
|
+
<span class='id identifier rubyid_finder'>finder</span> <span class='op'>=</span> <span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</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'>_by_</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
|
|
348
|
+
<span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</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'>_by_</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_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>_and_</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|
349
|
+
|
|
350
|
+
<span class='id identifier rubyid_chain'>chain</span> <span class='op'>=</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Criteria</span><span class='op'>::</span><span class='const'>Chain</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
|
|
351
|
+
<span class='id identifier rubyid_chain'>chain</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span> <span class='op'>=</span> <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='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_h'>h</span><span class='op'>|</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_attr'>attr</span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='op'>|</span> <span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='id identifier rubyid_attr'>attr</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='rbrace'>}</span>
|
|
352
|
+
|
|
353
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_finder'>finder</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>all</span><span class='regexp_end'>/</span></span>
|
|
354
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_chain'>chain</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span>
|
|
355
|
+
<span class='kw'>else</span>
|
|
356
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_chain'>chain</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
|
|
357
|
+
<span class='kw'>end</span>
|
|
358
|
+
<span class='kw'>else</span>
|
|
359
|
+
<span class='kw'>super</span>
|
|
360
|
+
<span class='kw'>end</span>
|
|
361
|
+
<span class='kw'>end</span></pre>
|
|
362
|
+
</td>
|
|
363
|
+
</tr>
|
|
364
|
+
</table>
|
|
365
|
+
</div>
|
|
366
|
+
|
|
367
|
+
</div>
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
<div id="instance_method_details" class="method_details_list">
|
|
371
|
+
<h2>Instance Method Details</h2>
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
<div class="method_details first">
|
|
375
|
+
<h3 class="signature first" id="find-instance_method">
|
|
376
|
+
|
|
377
|
+
- (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>find</strong>(*ids)
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
</h3><div class="docstring">
|
|
384
|
+
<div class="discussion">
|
|
385
|
+
<p>Find one or many objects, specified by one id or an array of ids.</p>
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
</div>
|
|
389
|
+
</div>
|
|
390
|
+
<div class="tags">
|
|
391
|
+
<p class="tag_title">Parameters:</p>
|
|
392
|
+
<ul class="param">
|
|
393
|
+
|
|
394
|
+
<li>
|
|
395
|
+
|
|
396
|
+
<span class='name'>*id</span>
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
<span class='type'>(<tt>Array/String</tt>)</span>
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
—
|
|
404
|
+
<div class='inline'><p>an array of ids or one single id</p>
|
|
405
|
+
</div>
|
|
406
|
+
|
|
407
|
+
</li>
|
|
408
|
+
|
|
409
|
+
</ul>
|
|
410
|
+
|
|
411
|
+
<p class="tag_title">Returns:</p>
|
|
412
|
+
<ul class="return">
|
|
413
|
+
|
|
414
|
+
<li>
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
—
|
|
422
|
+
<div class='inline'><p>one object or an array of objects, depending on whether the input was an array or not</p>
|
|
423
|
+
</div>
|
|
424
|
+
|
|
425
|
+
</li>
|
|
426
|
+
|
|
427
|
+
</ul>
|
|
428
|
+
<p class="tag_title">Since:</p>
|
|
429
|
+
<ul class="since">
|
|
430
|
+
|
|
431
|
+
<li>
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
<div class='inline'><p>0.2.0</p>
|
|
438
|
+
</div>
|
|
439
|
+
|
|
440
|
+
</li>
|
|
441
|
+
|
|
442
|
+
</ul>
|
|
443
|
+
|
|
444
|
+
</div><table class="source_code">
|
|
445
|
+
<tr>
|
|
446
|
+
<td>
|
|
447
|
+
<pre class="lines">
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
18
|
|
451
|
+
19
|
|
452
|
+
20
|
|
453
|
+
21
|
|
454
|
+
22
|
|
455
|
+
23
|
|
456
|
+
24
|
|
457
|
+
25
|
|
458
|
+
26
|
|
459
|
+
27
|
|
460
|
+
28
|
|
461
|
+
29
|
|
462
|
+
30
|
|
463
|
+
31
|
|
464
|
+
32</pre>
|
|
465
|
+
</td>
|
|
466
|
+
<td>
|
|
467
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 18</span>
|
|
468
|
+
|
|
469
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span>
|
|
470
|
+
|
|
471
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Hash</span>
|
|
472
|
+
<span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_slice!'>slice!</span><span class='lparen'>(</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span>
|
|
473
|
+
<span class='kw'>else</span>
|
|
474
|
+
<span class='lbrace'>{</span><span class='rbrace'>}</span>
|
|
475
|
+
<span class='kw'>end</span>
|
|
476
|
+
|
|
477
|
+
<span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='rparen'>)</span>
|
|
478
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='op'>==</span> <span class='int'>1</span>
|
|
479
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_find_by_id'>find_by_id</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
|
480
|
+
<span class='kw'>else</span>
|
|
481
|
+
<span class='id identifier rubyid_find_all'>find_all</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='rparen'>)</span>
|
|
482
|
+
<span class='kw'>end</span>
|
|
483
|
+
<span class='kw'>end</span></pre>
|
|
484
|
+
</td>
|
|
485
|
+
</tr>
|
|
486
|
+
</table>
|
|
487
|
+
</div>
|
|
488
|
+
|
|
489
|
+
<div class="method_details ">
|
|
490
|
+
<h3 class="signature " id="find_all-instance_method">
|
|
491
|
+
|
|
492
|
+
- (<tt>Object</tt>) <strong>find_all</strong>(ids, options = {})
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
</h3><div class="docstring">
|
|
499
|
+
<div class="discussion">
|
|
500
|
+
<p>Return objects found by the given array of ids, either hash keys, or hash/range key combinations using BatchGet.
|
|
501
|
+
Returns empty array if no results found.</p>
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
</div>
|
|
505
|
+
</div>
|
|
506
|
+
<div class="tags">
|
|
507
|
+
|
|
508
|
+
<div class="examples">
|
|
509
|
+
<p class="tag_title">Examples:</p>
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
<pre class="example code"><code><span class='id identifier rubyid_find'>find</span> <span class='id identifier rubyid_all'>all</span> <span class='id identifier rubyid_the'>the</span> <span class='id identifier rubyid_user'>user</span> <span class='id identifier rubyid_with'>with</span> <span class='id identifier rubyid_hash'>hash</span> <span class='id identifier rubyid_key'>key</span>
|
|
513
|
+
<span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>2</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>3</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|
514
|
+
|
|
515
|
+
<span class='id identifier rubyid_find'>find</span> <span class='id identifier rubyid_all'>all</span> <span class='id identifier rubyid_the'>the</span> <span class='id identifier rubyid_tweets'>tweets</span> <span class='id identifier rubyid_using'>using</span> <span class='id identifier rubyid_hash'>hash</span> <span class='id identifier rubyid_key'>key</span> <span class='kw'>and</span> <span class='id identifier rubyid_range'>range</span> <span class='id identifier rubyid_key'>key</span> <span class='id identifier rubyid_with'>with</span> <span class='id identifier rubyid_consistent'>consistent</span> <span class='id identifier rubyid_read'>read</span>
|
|
516
|
+
<span class='const'>Tweet</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>red</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>green</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:consistent_read</span> <span class='op'>=></span> <span class='kw'>true</span><span class='rparen'>)</span></code></pre>
|
|
517
|
+
|
|
518
|
+
</div>
|
|
519
|
+
<p class="tag_title">Parameters:</p>
|
|
520
|
+
<ul class="param">
|
|
521
|
+
|
|
522
|
+
<li>
|
|
523
|
+
|
|
524
|
+
<span class='name'>ids</span>
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
<span class='type'>(<tt>Array<ID></tt>)</span>
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
</li>
|
|
532
|
+
|
|
533
|
+
<li>
|
|
534
|
+
|
|
535
|
+
<span class='name'>options:</span>
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
—
|
|
543
|
+
<div class='inline'><p>Passed to the underlying query.</p>
|
|
544
|
+
</div>
|
|
545
|
+
|
|
546
|
+
</li>
|
|
547
|
+
|
|
548
|
+
</ul>
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
</div><table class="source_code">
|
|
552
|
+
<tr>
|
|
553
|
+
<td>
|
|
554
|
+
<pre class="lines">
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
46
|
|
558
|
+
47
|
|
559
|
+
48
|
|
560
|
+
49</pre>
|
|
561
|
+
</td>
|
|
562
|
+
<td>
|
|
563
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 46</span>
|
|
564
|
+
|
|
565
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_all'>find_all</span><span class='lparen'>(</span><span class='id identifier rubyid_ids'>ids</span><span class='comma'>,</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>
|
|
566
|
+
<span class='id identifier rubyid_items'>items</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_read'>read</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_ids'>ids</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
|
567
|
+
<span class='id identifier rubyid_items'>items</span> <span class='op'>?</span> <span class='id identifier rubyid_items'>items</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_from_database'>from_database</span><span class='lparen'>(</span><span class='id identifier rubyid_i'>i</span><span class='rparen'>)</span><span class='rbrace'>}</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
|
568
|
+
<span class='kw'>end</span></pre>
|
|
569
|
+
</td>
|
|
570
|
+
</tr>
|
|
571
|
+
</table>
|
|
572
|
+
</div>
|
|
573
|
+
|
|
574
|
+
<div class="method_details ">
|
|
575
|
+
<h3 class="signature " id="find_all_by_composite_key-instance_method">
|
|
576
|
+
|
|
577
|
+
- (<tt>Array</tt>) <strong>find_all_by_composite_key</strong>(hash_key, options = {})
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
</h3><div class="docstring">
|
|
584
|
+
<div class="discussion">
|
|
585
|
+
<p>Find all objects by hash and range keys.</p>
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
</div>
|
|
589
|
+
</div>
|
|
590
|
+
<div class="tags">
|
|
591
|
+
|
|
592
|
+
<div class="examples">
|
|
593
|
+
<p class="tag_title">Examples:</p>
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
<p class="example_title"><div class='inline'><p>find all ChamberTypes whose level is greater than 1</p>
|
|
597
|
+
</div></p>
|
|
598
|
+
|
|
599
|
+
<pre class="example code"><code><span class='kw'>class</span> <span class='const'>ChamberType</span>
|
|
600
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Document</span>
|
|
601
|
+
<span class='id identifier rubyid_field'>field</span> <span class='symbol'>:chamber_type</span><span class='comma'>,</span> <span class='symbol'>:string</span>
|
|
602
|
+
<span class='id identifier rubyid_range'>range</span> <span class='symbol'>:level</span><span class='comma'>,</span> <span class='symbol'>:integer</span>
|
|
603
|
+
<span class='id identifier rubyid_table'>table</span> <span class='symbol'>:key</span> <span class='op'>=></span> <span class='symbol'>:chamber_type</span>
|
|
604
|
+
<span class='kw'>end</span>
|
|
605
|
+
<span class='const'>ChamberType</span><span class='period'>.</span><span class='id identifier rubyid_find_all_by_composite_key'>find_all_by_composite_key</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>DustVault</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>range_greater_than:</span> <span class='int'>1</span><span class='rparen'>)</span></code></pre>
|
|
606
|
+
|
|
607
|
+
</div>
|
|
608
|
+
<p class="tag_title">Parameters:</p>
|
|
609
|
+
<ul class="param">
|
|
610
|
+
|
|
611
|
+
<li>
|
|
612
|
+
|
|
613
|
+
<span class='name'>hash_key</span>
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
—
|
|
621
|
+
<div class='inline'><p>of the objects to find</p>
|
|
622
|
+
</div>
|
|
623
|
+
|
|
624
|
+
</li>
|
|
625
|
+
|
|
626
|
+
<li>
|
|
627
|
+
|
|
628
|
+
<span class='name'>options</span>
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
—
|
|
638
|
+
<div class='inline'><p>the options for the range key</p>
|
|
639
|
+
</div>
|
|
640
|
+
|
|
641
|
+
</li>
|
|
642
|
+
|
|
643
|
+
</ul>
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
|
|
650
|
+
<p class="tag_title">Options Hash (<tt>options</tt>):</p>
|
|
651
|
+
<ul class="option">
|
|
652
|
+
|
|
653
|
+
<li>
|
|
654
|
+
<span class="name">:range_value</span>
|
|
655
|
+
<span class="type">(<tt>Range</tt>)</span>
|
|
656
|
+
<span class="default">
|
|
657
|
+
|
|
658
|
+
</span>
|
|
659
|
+
|
|
660
|
+
— <div class='inline'><p>find the range key within this range</p>
|
|
661
|
+
</div>
|
|
662
|
+
|
|
663
|
+
</li>
|
|
664
|
+
|
|
665
|
+
<li>
|
|
666
|
+
<span class="name">:range_greater_than</span>
|
|
667
|
+
<span class="type">(<tt>Number</tt>)</span>
|
|
668
|
+
<span class="default">
|
|
669
|
+
|
|
670
|
+
</span>
|
|
671
|
+
|
|
672
|
+
— <div class='inline'><p>find range keys greater than this</p>
|
|
673
|
+
</div>
|
|
674
|
+
|
|
675
|
+
</li>
|
|
676
|
+
|
|
677
|
+
<li>
|
|
678
|
+
<span class="name">:range_less_than</span>
|
|
679
|
+
<span class="type">(<tt>Number</tt>)</span>
|
|
680
|
+
<span class="default">
|
|
681
|
+
|
|
682
|
+
</span>
|
|
683
|
+
|
|
684
|
+
— <div class='inline'><p>find range keys less than this</p>
|
|
685
|
+
</div>
|
|
686
|
+
|
|
687
|
+
</li>
|
|
688
|
+
|
|
689
|
+
<li>
|
|
690
|
+
<span class="name">:range_gte</span>
|
|
691
|
+
<span class="type">(<tt>Number</tt>)</span>
|
|
692
|
+
<span class="default">
|
|
693
|
+
|
|
694
|
+
</span>
|
|
695
|
+
|
|
696
|
+
— <div class='inline'><p>find range keys greater than or equal to this</p>
|
|
697
|
+
</div>
|
|
698
|
+
|
|
699
|
+
</li>
|
|
700
|
+
|
|
701
|
+
<li>
|
|
702
|
+
<span class="name">:range_lte</span>
|
|
703
|
+
<span class="type">(<tt>Number</tt>)</span>
|
|
704
|
+
<span class="default">
|
|
705
|
+
|
|
706
|
+
</span>
|
|
707
|
+
|
|
708
|
+
— <div class='inline'><p>find range keys less than or equal to this</p>
|
|
709
|
+
</div>
|
|
710
|
+
|
|
711
|
+
</li>
|
|
712
|
+
|
|
713
|
+
</ul>
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
<p class="tag_title">Returns:</p>
|
|
717
|
+
<ul class="return">
|
|
718
|
+
|
|
719
|
+
<li>
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
—
|
|
727
|
+
<div class='inline'><p>an array of all matching items</p>
|
|
728
|
+
</div>
|
|
729
|
+
|
|
730
|
+
</li>
|
|
731
|
+
|
|
732
|
+
</ul>
|
|
733
|
+
|
|
734
|
+
</div><table class="source_code">
|
|
735
|
+
<tr>
|
|
736
|
+
<td>
|
|
737
|
+
<pre class="lines">
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
96
|
|
741
|
+
97
|
|
742
|
+
98
|
|
743
|
+
99
|
|
744
|
+
100</pre>
|
|
745
|
+
</td>
|
|
746
|
+
<td>
|
|
747
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 96</span>
|
|
748
|
+
|
|
749
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_all_by_composite_key'>find_all_by_composite_key</span><span class='lparen'>(</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='comma'>,</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>
|
|
750
|
+
<span class='const'>Dynamoid</span><span class='op'>::</span><span class='const'>Adapter</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='label'>hash_value:</span> <span class='id identifier rubyid_hash_key'>hash_key</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span>
|
|
751
|
+
<span class='id identifier rubyid_from_database'>from_database</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span>
|
|
752
|
+
<span class='kw'>end</span>
|
|
753
|
+
<span class='kw'>end</span></pre>
|
|
754
|
+
</td>
|
|
755
|
+
</tr>
|
|
756
|
+
</table>
|
|
757
|
+
</div>
|
|
758
|
+
|
|
759
|
+
<div class="method_details ">
|
|
760
|
+
<h3 class="signature " id="find_by_composite_key-instance_method">
|
|
761
|
+
|
|
762
|
+
- (<tt>Object</tt>) <strong>find_by_composite_key</strong>(hash_key, range_key, options = {})
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
</h3><div class="docstring">
|
|
769
|
+
<div class="discussion">
|
|
770
|
+
<p>Find one object directly by hash and range keys</p>
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
</div>
|
|
774
|
+
</div>
|
|
775
|
+
<div class="tags">
|
|
776
|
+
<p class="tag_title">Parameters:</p>
|
|
777
|
+
<ul class="param">
|
|
778
|
+
|
|
779
|
+
<li>
|
|
780
|
+
|
|
781
|
+
<span class='name'>hash_key</span>
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
—
|
|
789
|
+
<div class='inline'><p>of the object to find</p>
|
|
790
|
+
</div>
|
|
791
|
+
|
|
792
|
+
</li>
|
|
793
|
+
|
|
794
|
+
<li>
|
|
795
|
+
|
|
796
|
+
<span class='name'>range_key</span>
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
<span class='type'>(<tt>String/Integer/Float</tt>)</span>
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
—
|
|
804
|
+
<div class='inline'><p>of the object to find</p>
|
|
805
|
+
</div>
|
|
806
|
+
|
|
807
|
+
</li>
|
|
808
|
+
|
|
809
|
+
</ul>
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
</div><table class="source_code">
|
|
813
|
+
<tr>
|
|
814
|
+
<td>
|
|
815
|
+
<pre class="lines">
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
71
|
|
819
|
+
72
|
|
820
|
+
73</pre>
|
|
821
|
+
</td>
|
|
822
|
+
<td>
|
|
823
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 71</span>
|
|
824
|
+
|
|
825
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_by_composite_key'>find_by_composite_key</span><span class='lparen'>(</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='comma'>,</span> <span class='id identifier rubyid_range_key'>range_key</span><span class='comma'>,</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>
|
|
826
|
+
<span class='id identifier rubyid_find_by_id'>find_by_id</span><span class='lparen'>(</span><span class='id identifier rubyid_hash_key'>hash_key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='symbol'>:range_key</span> <span class='op'>=></span> <span class='id identifier rubyid_range_key'>range_key</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
827
|
+
<span class='kw'>end</span></pre>
|
|
828
|
+
</td>
|
|
829
|
+
</tr>
|
|
830
|
+
</table>
|
|
831
|
+
</div>
|
|
832
|
+
|
|
833
|
+
<div class="method_details ">
|
|
834
|
+
<h3 class="signature " id="find_by_id-instance_method">
|
|
835
|
+
|
|
836
|
+
- (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>find_by_id</strong>(id, options = {})
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
|
|
842
|
+
</h3><div class="docstring">
|
|
843
|
+
<div class="discussion">
|
|
844
|
+
<p>Find one object directly by id.</p>
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
</div>
|
|
848
|
+
</div>
|
|
849
|
+
<div class="tags">
|
|
850
|
+
<p class="tag_title">Parameters:</p>
|
|
851
|
+
<ul class="param">
|
|
852
|
+
|
|
853
|
+
<li>
|
|
854
|
+
|
|
855
|
+
<span class='name'>id</span>
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
—
|
|
863
|
+
<div class='inline'><p>the id of the object to find</p>
|
|
864
|
+
</div>
|
|
865
|
+
|
|
866
|
+
</li>
|
|
867
|
+
|
|
868
|
+
</ul>
|
|
869
|
+
|
|
870
|
+
<p class="tag_title">Returns:</p>
|
|
871
|
+
<ul class="return">
|
|
872
|
+
|
|
873
|
+
<li>
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
—
|
|
881
|
+
<div class='inline'><p>the found object, or nil if nothing was found</p>
|
|
882
|
+
</div>
|
|
883
|
+
|
|
884
|
+
</li>
|
|
885
|
+
|
|
886
|
+
</ul>
|
|
887
|
+
<p class="tag_title">Since:</p>
|
|
888
|
+
<ul class="since">
|
|
889
|
+
|
|
890
|
+
<li>
|
|
891
|
+
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
|
|
895
|
+
|
|
896
|
+
<div class='inline'><p>0.2.0</p>
|
|
897
|
+
</div>
|
|
898
|
+
|
|
899
|
+
</li>
|
|
900
|
+
|
|
901
|
+
</ul>
|
|
902
|
+
|
|
903
|
+
</div><table class="source_code">
|
|
904
|
+
<tr>
|
|
905
|
+
<td>
|
|
906
|
+
<pre class="lines">
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
58
|
|
910
|
+
59
|
|
911
|
+
60
|
|
912
|
+
61
|
|
913
|
+
62
|
|
914
|
+
63
|
|
915
|
+
64</pre>
|
|
916
|
+
</td>
|
|
917
|
+
<td>
|
|
918
|
+
<pre class="code"><span class="info file"># File 'lib/dynamoid/finders.rb', line 58</span>
|
|
919
|
+
|
|
920
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_by_id'>find_by_id</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</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>
|
|
921
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_item'>item</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_read'>read</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table_name'>table_name</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
|
922
|
+
<span class='id identifier rubyid_from_database'>from_database</span><span class='lparen'>(</span><span class='id identifier rubyid_item'>item</span><span class='rparen'>)</span>
|
|
923
|
+
<span class='kw'>else</span>
|
|
924
|
+
<span class='kw'>nil</span>
|
|
925
|
+
<span class='kw'>end</span>
|
|
926
|
+
<span class='kw'>end</span></pre>
|
|
927
|
+
</td>
|
|
928
|
+
</tr>
|
|
929
|
+
</table>
|
|
930
|
+
</div>
|
|
931
|
+
|
|
932
|
+
</div>
|
|
933
|
+
|
|
934
|
+
</div>
|
|
935
|
+
|
|
936
|
+
<div id="footer">
|
|
937
|
+
Generated on Thu Jun 27 21:59:10 2013 by
|
|
938
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
939
|
+
0.8.6.1 (ruby-1.9.3).
|
|
940
|
+
</div>
|
|
941
|
+
|
|
942
|
+
</body>
|
|
943
|
+
</html>
|