dynamoid 0.7.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -24
  3. data/README.markdown +89 -73
  4. data/Rakefile +10 -36
  5. data/dynamoid.gemspec +56 -191
  6. data/lib/dynamoid.rb +6 -4
  7. data/lib/dynamoid/adapter.rb +64 -150
  8. data/lib/dynamoid/adapter_plugin/aws_sdk_v2.rb +579 -0
  9. data/lib/dynamoid/components.rb +0 -1
  10. data/lib/dynamoid/config.rb +2 -5
  11. data/lib/dynamoid/criteria.rb +1 -1
  12. data/lib/dynamoid/criteria/chain.rb +27 -140
  13. data/lib/dynamoid/document.rb +2 -2
  14. data/lib/dynamoid/errors.rb +30 -9
  15. data/lib/dynamoid/fields.rb +15 -3
  16. data/lib/dynamoid/finders.rb +7 -6
  17. data/lib/dynamoid/identity_map.rb +1 -5
  18. data/lib/dynamoid/persistence.rb +108 -93
  19. metadata +56 -229
  20. data/.document +0 -5
  21. data/.rspec +0 -1
  22. data/.travis.yml +0 -7
  23. data/Gemfile.lock +0 -81
  24. data/Gemfile_activemodel4 +0 -24
  25. data/Gemfile_activemodel4.lock +0 -88
  26. data/VERSION +0 -1
  27. data/doc/.nojekyll +0 -0
  28. data/doc/Dynamoid.html +0 -328
  29. data/doc/Dynamoid/Adapter.html +0 -1872
  30. data/doc/Dynamoid/Adapter/AwsSdk.html +0 -2101
  31. data/doc/Dynamoid/Adapter/Local.html +0 -1574
  32. data/doc/Dynamoid/Associations.html +0 -138
  33. data/doc/Dynamoid/Associations/Association.html +0 -847
  34. data/doc/Dynamoid/Associations/BelongsTo.html +0 -161
  35. data/doc/Dynamoid/Associations/ClassMethods.html +0 -766
  36. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +0 -167
  37. data/doc/Dynamoid/Associations/HasMany.html +0 -167
  38. data/doc/Dynamoid/Associations/HasOne.html +0 -161
  39. data/doc/Dynamoid/Associations/ManyAssociation.html +0 -1684
  40. data/doc/Dynamoid/Associations/SingleAssociation.html +0 -627
  41. data/doc/Dynamoid/Components.html +0 -242
  42. data/doc/Dynamoid/Config.html +0 -412
  43. data/doc/Dynamoid/Config/Options.html +0 -638
  44. data/doc/Dynamoid/Criteria.html +0 -138
  45. data/doc/Dynamoid/Criteria/Chain.html +0 -1471
  46. data/doc/Dynamoid/Criteria/ClassMethods.html +0 -105
  47. data/doc/Dynamoid/Dirty.html +0 -424
  48. data/doc/Dynamoid/Dirty/ClassMethods.html +0 -174
  49. data/doc/Dynamoid/Document.html +0 -1033
  50. data/doc/Dynamoid/Document/ClassMethods.html +0 -1116
  51. data/doc/Dynamoid/Errors.html +0 -125
  52. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +0 -141
  53. data/doc/Dynamoid/Errors/DocumentNotValid.html +0 -221
  54. data/doc/Dynamoid/Errors/Error.html +0 -137
  55. data/doc/Dynamoid/Errors/InvalidField.html +0 -141
  56. data/doc/Dynamoid/Errors/InvalidQuery.html +0 -131
  57. data/doc/Dynamoid/Errors/MissingRangeKey.html +0 -141
  58. data/doc/Dynamoid/Fields.html +0 -686
  59. data/doc/Dynamoid/Fields/ClassMethods.html +0 -438
  60. data/doc/Dynamoid/Finders.html +0 -135
  61. data/doc/Dynamoid/Finders/ClassMethods.html +0 -943
  62. data/doc/Dynamoid/IdentityMap.html +0 -492
  63. data/doc/Dynamoid/IdentityMap/ClassMethods.html +0 -534
  64. data/doc/Dynamoid/Indexes.html +0 -321
  65. data/doc/Dynamoid/Indexes/ClassMethods.html +0 -369
  66. data/doc/Dynamoid/Indexes/Index.html +0 -1142
  67. data/doc/Dynamoid/Middleware.html +0 -115
  68. data/doc/Dynamoid/Middleware/IdentityMap.html +0 -264
  69. data/doc/Dynamoid/Persistence.html +0 -892
  70. data/doc/Dynamoid/Persistence/ClassMethods.html +0 -836
  71. data/doc/Dynamoid/Validations.html +0 -415
  72. data/doc/_index.html +0 -506
  73. data/doc/class_list.html +0 -53
  74. data/doc/css/common.css +0 -1
  75. data/doc/css/full_list.css +0 -57
  76. data/doc/css/style.css +0 -338
  77. data/doc/file.LICENSE.html +0 -73
  78. data/doc/file.README.html +0 -416
  79. data/doc/file_list.html +0 -58
  80. data/doc/frames.html +0 -28
  81. data/doc/index.html +0 -416
  82. data/doc/js/app.js +0 -214
  83. data/doc/js/full_list.js +0 -178
  84. data/doc/js/jquery.js +0 -4
  85. data/doc/method_list.html +0 -1144
  86. data/doc/top-level-namespace.html +0 -112
  87. data/lib/dynamoid/adapter/aws_sdk.rb +0 -287
  88. data/lib/dynamoid/indexes.rb +0 -69
  89. data/lib/dynamoid/indexes/index.rb +0 -103
  90. data/spec/app/models/address.rb +0 -13
  91. data/spec/app/models/camel_case.rb +0 -34
  92. data/spec/app/models/car.rb +0 -6
  93. data/spec/app/models/magazine.rb +0 -11
  94. data/spec/app/models/message.rb +0 -9
  95. data/spec/app/models/nuclear_submarine.rb +0 -5
  96. data/spec/app/models/sponsor.rb +0 -8
  97. data/spec/app/models/subscription.rb +0 -12
  98. data/spec/app/models/tweet.rb +0 -12
  99. data/spec/app/models/user.rb +0 -26
  100. data/spec/app/models/vehicle.rb +0 -7
  101. data/spec/dynamoid/adapter/aws_sdk_spec.rb +0 -376
  102. data/spec/dynamoid/adapter_spec.rb +0 -155
  103. data/spec/dynamoid/associations/association_spec.rb +0 -194
  104. data/spec/dynamoid/associations/belongs_to_spec.rb +0 -71
  105. data/spec/dynamoid/associations/has_and_belongs_to_many_spec.rb +0 -47
  106. data/spec/dynamoid/associations/has_many_spec.rb +0 -42
  107. data/spec/dynamoid/associations/has_one_spec.rb +0 -45
  108. data/spec/dynamoid/associations_spec.rb +0 -16
  109. data/spec/dynamoid/config_spec.rb +0 -27
  110. data/spec/dynamoid/criteria/chain_spec.rb +0 -210
  111. data/spec/dynamoid/criteria_spec.rb +0 -75
  112. data/spec/dynamoid/dirty_spec.rb +0 -57
  113. data/spec/dynamoid/document_spec.rb +0 -180
  114. data/spec/dynamoid/fields_spec.rb +0 -156
  115. data/spec/dynamoid/finders_spec.rb +0 -147
  116. data/spec/dynamoid/identity_map_spec.rb +0 -45
  117. data/spec/dynamoid/indexes/index_spec.rb +0 -104
  118. data/spec/dynamoid/indexes_spec.rb +0 -25
  119. data/spec/dynamoid/persistence_spec.rb +0 -301
  120. data/spec/dynamoid/validations_spec.rb +0 -36
  121. data/spec/dynamoid_spec.rb +0 -9
  122. data/spec/spec_helper.rb +0 -55
  123. data/spec/support/with_partitioning.rb +0 -15
@@ -1,1684 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>
7
- Module: Dynamoid::Associations::ManyAssociation
8
-
9
- &mdash; Documentation by YARD 0.8.6.1
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '../../';
20
- framesUrl = "../../frames.html#!" + escape(window.location.href);
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="../../_index.html">Index (M)</a> &raquo;
35
- <span class='title'><span class='object_link'><a href="../../Dynamoid.html" title="Dynamoid (module)">Dynamoid</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Associations.html" title="Dynamoid::Associations (module)">Associations</a></span></span>
36
- &raquo;
37
- <span class="title">ManyAssociation</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::Associations::ManyAssociation
67
-
68
-
69
-
70
- </h1>
71
-
72
- <dl class="box">
73
-
74
-
75
-
76
-
77
-
78
- <dt class="r1">Includes:</dt>
79
- <dd class="r1"><span class='object_link'><a href="Association.html" title="Dynamoid::Associations::Association (module)">Association</a></span>, Enumerable</dd>
80
-
81
-
82
-
83
-
84
- <dt class="r2">Included in:</dt>
85
- <dd class="r2"><span class='object_link'><a href="HasAndBelongsToMany.html" title="Dynamoid::Associations::HasAndBelongsToMany (class)">HasAndBelongsToMany</a></span>, <span class='object_link'><a href="HasMany.html" title="Dynamoid::Associations::HasMany (class)">HasMany</a></span></dd>
86
-
87
-
88
-
89
- <dt class="r1 last">Defined in:</dt>
90
- <dd class="r1 last">lib/dynamoid/associations/many_association.rb</dd>
91
-
92
- </dl>
93
- <div class="clear"></div>
94
-
95
-
96
-
97
-
98
-
99
- <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
100
- <ul class="summary">
101
-
102
- <li class="public ">
103
- <span class="summary_signature">
104
-
105
- <a href="#query-instance_method" title="#query (instance method)">- (Object) <strong>query</strong> </a>
106
-
107
-
108
-
109
- </span>
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute query.</p>
123
- </div></span>
124
-
125
- </li>
126
-
127
-
128
- </ul>
129
-
130
-
131
-
132
-
133
-
134
- <h3 class="inherited">Attributes included from <span class='object_link'><a href="Association.html" title="Dynamoid::Associations::Association (module)">Association</a></span></h3>
135
- <p class="inherited"><span class='object_link'><a href="Association.html#loaded-instance_method" title="Dynamoid::Associations::Association#loaded (method)">#loaded</a></span>, <span class='object_link'><a href="Association.html#name-instance_method" title="Dynamoid::Associations::Association#name (method)">#name</a></span>, <span class='object_link'><a href="Association.html#options-instance_method" title="Dynamoid::Associations::Association#options (method)">#options</a></span>, <span class='object_link'><a href="Association.html#source-instance_method" title="Dynamoid::Associations::Association#source (method)">#source</a></span></p>
136
-
137
-
138
-
139
- <h2>
140
- Instance Method Summary
141
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
142
- </h2>
143
-
144
- <ul class="summary">
145
-
146
- <li class="public ">
147
- <span class="summary_signature">
148
-
149
- <a href="#%3C%3C-instance_method" title="#&lt;&lt; (instance method)">- (Dynamoid::Document) <strong>&lt;&lt;</strong>(object) </a>
150
-
151
-
152
-
153
- </span>
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
- <span class="summary_desc"><div class='inline'><p>Add an object or array of objects to an association.</p>
164
- </div></span>
165
-
166
- </li>
167
-
168
-
169
- <li class="public ">
170
- <span class="summary_signature">
171
-
172
- <a href="#%3D%3D-instance_method" title="#== (instance method)">- (Boolean) <strong>==</strong>(other) </a>
173
-
174
-
175
-
176
- </span>
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
- <span class="summary_desc"><div class='inline'><p>Is this array equal to the association's records?.</p>
187
- </div></span>
188
-
189
- </li>
190
-
191
-
192
- <li class="public ">
193
- <span class="summary_signature">
194
-
195
- <a href="#create-instance_method" title="#create (instance method)">- (Dynamoid::Document) <strong>create</strong>(attributes = {}) </a>
196
-
197
-
198
-
199
- </span>
200
-
201
-
202
-
203
-
204
-
205
-
206
-
207
-
208
-
209
- <span class="summary_desc"><div class='inline'><p>Create a new instance of the target class and add it directly to the association.</p>
210
- </div></span>
211
-
212
- </li>
213
-
214
-
215
- <li class="public ">
216
- <span class="summary_signature">
217
-
218
- <a href="#create%21-instance_method" title="#create! (instance method)">- (Dynamoid::Document) <strong>create!</strong>(attributes = {}) </a>
219
-
220
-
221
-
222
- </span>
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
-
232
- <span class="summary_desc"><div class='inline'><p>Create a new instance of the target class and add it directly to the association.</p>
233
- </div></span>
234
-
235
- </li>
236
-
237
-
238
- <li class="public ">
239
- <span class="summary_signature">
240
-
241
- <a href="#delete-instance_method" title="#delete (instance method)">- (Dynamoid::Document) <strong>delete</strong>(object) </a>
242
-
243
-
244
-
245
- </span>
246
-
247
-
248
-
249
-
250
-
251
-
252
-
253
-
254
-
255
- <span class="summary_desc"><div class='inline'><p>Deletes an object or array of objects from the association.</p>
256
- </div></span>
257
-
258
- </li>
259
-
260
-
261
- <li class="public ">
262
- <span class="summary_signature">
263
-
264
- <a href="#delete_all-instance_method" title="#delete_all (instance method)">- (Object) <strong>delete_all</strong> </a>
265
-
266
-
267
-
268
- </span>
269
-
270
-
271
-
272
-
273
-
274
-
275
-
276
-
277
-
278
- <span class="summary_desc"><div class='inline'><p>Deletes all members of the association and removes them from the association.</p>
279
- </div></span>
280
-
281
- </li>
282
-
283
-
284
- <li class="public ">
285
- <span class="summary_signature">
286
-
287
- <a href="#destroy_all-instance_method" title="#destroy_all (instance method)">- (Object) <strong>destroy_all</strong> </a>
288
-
289
-
290
-
291
- </span>
292
-
293
-
294
-
295
-
296
-
297
-
298
-
299
-
300
-
301
- <span class="summary_desc"><div class='inline'><p>Destroys all members of the association and removes them from the association.</p>
302
- </div></span>
303
-
304
- </li>
305
-
306
-
307
- <li class="public ">
308
- <span class="summary_signature">
309
-
310
- <a href="#each-instance_method" title="#each (instance method)">- (Dynamoid::Document) <strong>each</strong>(&amp;block) </a>
311
-
312
-
313
-
314
- </span>
315
-
316
-
317
-
318
-
319
-
320
-
321
-
322
-
323
-
324
- <span class="summary_desc"><div class='inline'><p>Create a new instance of the target class and add it directly to the association.</p>
325
- </div></span>
326
-
327
- </li>
328
-
329
-
330
- <li class="public ">
331
- <span class="summary_signature">
332
-
333
- <a href="#find_target-instance_method" title="#find_target (instance method)">- (Object) <strong>find_target</strong> </a>
334
-
335
-
336
-
337
- </span>
338
-
339
-
340
-
341
-
342
-
343
-
344
-
345
-
346
-
347
- <span class="summary_desc"><div class='inline'><p>The records associated to the source.</p>
348
- </div></span>
349
-
350
- </li>
351
-
352
-
353
- <li class="public ">
354
- <span class="summary_signature">
355
-
356
- <a href="#include%3F-instance_method" title="#include? (instance method)">- (Boolean) <strong>include?</strong>(object) </a>
357
-
358
-
359
-
360
- </span>
361
-
362
-
363
-
364
-
365
-
366
-
367
-
368
-
369
-
370
- <span class="summary_desc"><div class='inline'><p>Delegate include? to the records.</p>
371
- </div></span>
372
-
373
- </li>
374
-
375
-
376
- <li class="public ">
377
- <span class="summary_signature">
378
-
379
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Object) <strong>initialize</strong>(*args) </a>
380
-
381
-
382
-
383
- </span>
384
-
385
-
386
-
387
-
388
-
389
-
390
-
391
-
392
-
393
- <span class="summary_desc"><div class='inline'></div></span>
394
-
395
- </li>
396
-
397
-
398
- <li class="public ">
399
- <span class="summary_signature">
400
-
401
- <a href="#method_missing-instance_method" title="#method_missing (instance method)">- (Object) <strong>method_missing</strong>(method, *args) </a>
402
-
403
-
404
-
405
- </span>
406
-
407
-
408
-
409
-
410
-
411
-
412
-
413
-
414
-
415
- <span class="summary_desc"><div class='inline'><p>Delegate methods we don't find directly to the records array.</p>
416
- </div></span>
417
-
418
- </li>
419
-
420
-
421
- <li class="public ">
422
- <span class="summary_signature">
423
-
424
- <a href="#records-instance_method" title="#records (instance method)">- (Object) <strong>records</strong> </a>
425
-
426
-
427
-
428
- (also: #all)
429
-
430
- </span>
431
-
432
-
433
-
434
-
435
-
436
-
437
-
438
-
439
-
440
- <span class="summary_desc"><div class='inline'></div></span>
441
-
442
- </li>
443
-
444
-
445
- <li class="public ">
446
- <span class="summary_signature">
447
-
448
- <a href="#setter-instance_method" title="#setter (instance method)">- (Dynamoid::Document) <strong>setter</strong>(object) </a>
449
-
450
-
451
-
452
- </span>
453
-
454
-
455
-
456
-
457
-
458
-
459
-
460
-
461
-
462
- <span class="summary_desc"><div class='inline'><p>Replace an association with object or array of objects.</p>
463
- </div></span>
464
-
465
- </li>
466
-
467
-
468
- <li class="public ">
469
- <span class="summary_signature">
470
-
471
- <a href="#where-instance_method" title="#where (instance method)">- (Dynamoid::Association) <strong>where</strong>(args) </a>
472
-
473
-
474
-
475
- </span>
476
-
477
-
478
-
479
-
480
-
481
-
482
-
483
-
484
-
485
- <span class="summary_desc"><div class='inline'><p>Naive association filtering.</p>
486
- </div></span>
487
-
488
- </li>
489
-
490
-
491
- </ul>
492
-
493
-
494
-
495
-
496
-
497
-
498
-
499
-
500
-
501
-
502
-
503
-
504
- <h3 class="inherited">Methods included from <span class='object_link'><a href="Association.html" title="Dynamoid::Associations::Association (module)">Association</a></span></h3>
505
- <p class="inherited"><span class='object_link'><a href="Association.html#loaded%3F-instance_method" title="Dynamoid::Associations::Association#loaded? (method)">#loaded?</a></span>, <span class='object_link'><a href="Association.html#reset-instance_method" title="Dynamoid::Associations::Association#reset (method)">#reset</a></span>, <span class='object_link'><a href="Association.html#target-instance_method" title="Dynamoid::Associations::Association#target (method)">#target</a></span></p>
506
- <div id="method_missing_details" class="method_details_list">
507
- <h2>Dynamic Method Handling</h2>
508
- <p class="notice this">
509
- This class handles dynamic methods through the <tt>method_missing</tt> method
510
-
511
- </p>
512
-
513
- <div class="method_details first">
514
- <h3 class="signature first" id="method_missing-instance_method">
515
-
516
- - (<tt>Object</tt>) <strong>method_missing</strong>(method, *args)
517
-
518
-
519
-
520
-
521
-
522
- </h3><div class="docstring">
523
- <div class="discussion">
524
- <p>Delegate methods we don't find directly to the records array.</p>
525
-
526
-
527
- </div>
528
- </div>
529
- <div class="tags">
530
-
531
- <p class="tag_title">Since:</p>
532
- <ul class="since">
533
-
534
- <li>
535
-
536
-
537
-
538
-
539
-
540
- <div class='inline'><p>0.2.0</p>
541
- </div>
542
-
543
- </li>
544
-
545
- </ul>
546
-
547
- </div><table class="source_code">
548
- <tr>
549
- <td>
550
- <pre class="lines">
551
-
552
-
553
- 164
554
- 165
555
- 166
556
- 167
557
- 168
558
- 169
559
- 170</pre>
560
- </td>
561
- <td>
562
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 164</span>
563
-
564
- <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>
565
- <span class='kw'>if</span> <span class='id identifier rubyid_records'>records</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
566
- <span class='id identifier rubyid_records'>records</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</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>
567
- <span class='kw'>else</span>
568
- <span class='kw'>super</span>
569
- <span class='kw'>end</span>
570
- <span class='kw'>end</span></pre>
571
- </td>
572
- </tr>
573
- </table>
574
- </div>
575
-
576
- </div>
577
-
578
- <div id="instance_attr_details" class="attr_details">
579
- <h2>Instance Attribute Details</h2>
580
-
581
-
582
- <span id="query=-instance_method"></span>
583
- <div class="method_details first">
584
- <h3 class="signature first" id="query-instance_method">
585
-
586
- - (<tt>Object</tt>) <strong>query</strong>
587
-
588
-
589
-
590
-
591
-
592
- </h3><div class="docstring">
593
- <div class="discussion">
594
- <p>Returns the value of attribute query</p>
595
-
596
-
597
- </div>
598
- </div>
599
- <div class="tags">
600
-
601
-
602
- </div><table class="source_code">
603
- <tr>
604
- <td>
605
- <pre class="lines">
606
-
607
-
608
- 8
609
- 9
610
- 10</pre>
611
- </td>
612
- <td>
613
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 8</span>
614
-
615
- <span class='kw'>def</span> <span class='id identifier rubyid_query'>query</span>
616
- <span class='ivar'>@query</span>
617
- <span class='kw'>end</span></pre>
618
- </td>
619
- </tr>
620
- </table>
621
- </div>
622
-
623
- </div>
624
-
625
-
626
- <div id="instance_method_details" class="method_details_list">
627
- <h2>Instance Method Details</h2>
628
-
629
-
630
- <div class="method_details first">
631
- <h3 class="signature first" id="<<-instance_method">
632
-
633
- - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>&lt;&lt;</strong>(object)
634
-
635
-
636
-
637
-
638
-
639
- </h3><div class="docstring">
640
- <div class="discussion">
641
- <p>Add an object or array of objects to an association. This preserves the current records in the association (if any)
642
- and adds the object to the target association if it is detected to exist.</p>
643
-
644
-
645
- </div>
646
- </div>
647
- <div class="tags">
648
- <p class="tag_title">Parameters:</p>
649
- <ul class="param">
650
-
651
- <li>
652
-
653
- <span class='name'>object</span>
654
-
655
-
656
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
657
-
658
-
659
-
660
- &mdash;
661
- <div class='inline'><p>the object (or array of objects) to add to the association</p>
662
- </div>
663
-
664
- </li>
665
-
666
- </ul>
667
-
668
- <p class="tag_title">Returns:</p>
669
- <ul class="return">
670
-
671
- <li>
672
-
673
-
674
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
675
-
676
-
677
-
678
- &mdash;
679
- <div class='inline'><p>the added object</p>
680
- </div>
681
-
682
- </li>
683
-
684
- </ul>
685
- <p class="tag_title">Since:</p>
686
- <ul class="since">
687
-
688
- <li>
689
-
690
-
691
-
692
-
693
-
694
- <div class='inline'><p>0.2.0</p>
695
- </div>
696
-
697
- </li>
698
-
699
- </ul>
700
-
701
- </div><table class="source_code">
702
- <tr>
703
- <td>
704
- <pre class="lines">
705
-
706
-
707
- 69
708
- 70
709
- 71
710
- 72
711
- 73</pre>
712
- </td>
713
- <td>
714
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 69</span>
715
-
716
- <span class='kw'>def</span> <span class='op'>&lt;&lt;</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span>
717
- <span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_update_attribute'>update_attribute</span><span class='lparen'>(</span><span class='id identifier rubyid_source_attribute'>source_attribute</span><span class='comma'>,</span> <span class='id identifier rubyid_source_ids'>source_ids</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:id</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
718
- <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</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_o'>o</span><span class='op'>|</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:associate_target</span><span class='comma'>,</span> <span class='id identifier rubyid_o'>o</span><span class='rparen'>)</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_target_association'>target_association</span>
719
- <span class='id identifier rubyid_object'>object</span>
720
- <span class='kw'>end</span></pre>
721
- </td>
722
- </tr>
723
- </table>
724
- </div>
725
-
726
- <div class="method_details ">
727
- <h3 class="signature " id="==-instance_method">
728
-
729
- - (<tt>Boolean</tt>) <strong>==</strong>(other)
730
-
731
-
732
-
733
-
734
-
735
- </h3><div class="docstring">
736
- <div class="discussion">
737
- <p>Is this array equal to the association's records?</p>
738
-
739
-
740
- </div>
741
- </div>
742
- <div class="tags">
743
-
744
- <p class="tag_title">Returns:</p>
745
- <ul class="return">
746
-
747
- <li>
748
-
749
-
750
- <span class='type'>(<tt>Boolean</tt>)</span>
751
-
752
-
753
-
754
- &mdash;
755
- <div class='inline'><p>true/false</p>
756
- </div>
757
-
758
- </li>
759
-
760
- </ul>
761
- <p class="tag_title">Since:</p>
762
- <ul class="since">
763
-
764
- <li>
765
-
766
-
767
-
768
-
769
-
770
- <div class='inline'><p>0.2.0</p>
771
- </div>
772
-
773
- </li>
774
-
775
- </ul>
776
-
777
- </div><table class="source_code">
778
- <tr>
779
- <td>
780
- <pre class="lines">
781
-
782
-
783
- 157
784
- 158
785
- 159</pre>
786
- </td>
787
- <td>
788
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 157</span>
789
-
790
- <span class='kw'>def</span> <span class='op'>==</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span>
791
- <span class='id identifier rubyid_records'>records</span> <span class='op'>==</span> <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span>
792
- <span class='kw'>end</span></pre>
793
- </td>
794
- </tr>
795
- </table>
796
- </div>
797
-
798
- <div class="method_details ">
799
- <h3 class="signature " id="create-instance_method">
800
-
801
- - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>create</strong>(attributes = {})
802
-
803
-
804
-
805
-
806
-
807
- </h3><div class="docstring">
808
- <div class="discussion">
809
- <p>Create a new instance of the target class and add it directly to the association.</p>
810
-
811
-
812
- </div>
813
- </div>
814
- <div class="tags">
815
- <p class="tag_title">Parameters:</p>
816
- <ul class="param">
817
-
818
- <li>
819
-
820
- <span class='name'>attribute</span>
821
-
822
-
823
- <span class='type'>(<tt>Hash</tt>)</span>
824
-
825
-
826
-
827
- &mdash;
828
- <div class='inline'><p>hash for the new object</p>
829
- </div>
830
-
831
- </li>
832
-
833
- </ul>
834
-
835
- <p class="tag_title">Returns:</p>
836
- <ul class="return">
837
-
838
- <li>
839
-
840
-
841
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
842
-
843
-
844
-
845
- &mdash;
846
- <div class='inline'><p>the newly-created object</p>
847
- </div>
848
-
849
- </li>
850
-
851
- </ul>
852
- <p class="tag_title">Since:</p>
853
- <ul class="since">
854
-
855
- <li>
856
-
857
-
858
-
859
-
860
-
861
- <div class='inline'><p>0.2.0</p>
862
- </div>
863
-
864
- </li>
865
-
866
- </ul>
867
-
868
- </div><table class="source_code">
869
- <tr>
870
- <td>
871
- <pre class="lines">
872
-
873
-
874
- 107
875
- 108
876
- 109</pre>
877
- </td>
878
- <td>
879
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 107</span>
880
-
881
- <span class='kw'>def</span> <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
882
- <span class='kw'>self</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_target_class'>target_class</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
883
- <span class='kw'>end</span></pre>
884
- </td>
885
- </tr>
886
- </table>
887
- </div>
888
-
889
- <div class="method_details ">
890
- <h3 class="signature " id="create!-instance_method">
891
-
892
- - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>create!</strong>(attributes = {})
893
-
894
-
895
-
896
-
897
-
898
- </h3><div class="docstring">
899
- <div class="discussion">
900
- <p>Create a new instance of the target class and add it directly to the association. If the create fails an exception will be raised.</p>
901
-
902
-
903
- </div>
904
- </div>
905
- <div class="tags">
906
- <p class="tag_title">Parameters:</p>
907
- <ul class="param">
908
-
909
- <li>
910
-
911
- <span class='name'>attribute</span>
912
-
913
-
914
- <span class='type'>(<tt>Hash</tt>)</span>
915
-
916
-
917
-
918
- &mdash;
919
- <div class='inline'><p>hash for the new object</p>
920
- </div>
921
-
922
- </li>
923
-
924
- </ul>
925
-
926
- <p class="tag_title">Returns:</p>
927
- <ul class="return">
928
-
929
- <li>
930
-
931
-
932
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
933
-
934
-
935
-
936
- &mdash;
937
- <div class='inline'><p>the newly-created object</p>
938
- </div>
939
-
940
- </li>
941
-
942
- </ul>
943
- <p class="tag_title">Since:</p>
944
- <ul class="since">
945
-
946
- <li>
947
-
948
-
949
-
950
-
951
-
952
- <div class='inline'><p>0.2.0</p>
953
- </div>
954
-
955
- </li>
956
-
957
- </ul>
958
-
959
- </div><table class="source_code">
960
- <tr>
961
- <td>
962
- <pre class="lines">
963
-
964
-
965
- 96
966
- 97
967
- 98</pre>
968
- </td>
969
- <td>
970
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 96</span>
971
-
972
- <span class='kw'>def</span> <span class='id identifier rubyid_create!'>create!</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
973
- <span class='kw'>self</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_target_class'>target_class</span><span class='period'>.</span><span class='id identifier rubyid_create!'>create!</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
974
- <span class='kw'>end</span></pre>
975
- </td>
976
- </tr>
977
- </table>
978
- </div>
979
-
980
- <div class="method_details ">
981
- <h3 class="signature " id="delete-instance_method">
982
-
983
- - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>delete</strong>(object)
984
-
985
-
986
-
987
-
988
-
989
- </h3><div class="docstring">
990
- <div class="discussion">
991
- <p>Deletes an object or array of objects from the association. This removes their records from the association field on the source,
992
- and attempts to remove the source from the target association if it is detected to exist.</p>
993
-
994
-
995
- </div>
996
- </div>
997
- <div class="tags">
998
- <p class="tag_title">Parameters:</p>
999
- <ul class="param">
1000
-
1001
- <li>
1002
-
1003
- <span class='name'>object</span>
1004
-
1005
-
1006
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
1007
-
1008
-
1009
-
1010
- &mdash;
1011
- <div class='inline'><p>the object (or array of objects) to remove from the association</p>
1012
- </div>
1013
-
1014
- </li>
1015
-
1016
- </ul>
1017
-
1018
- <p class="tag_title">Returns:</p>
1019
- <ul class="return">
1020
-
1021
- <li>
1022
-
1023
-
1024
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
1025
-
1026
-
1027
-
1028
- &mdash;
1029
- <div class='inline'><p>the deleted object</p>
1030
- </div>
1031
-
1032
- </li>
1033
-
1034
- </ul>
1035
- <p class="tag_title">Since:</p>
1036
- <ul class="since">
1037
-
1038
- <li>
1039
-
1040
-
1041
-
1042
-
1043
-
1044
- <div class='inline'><p>0.2.0</p>
1045
- </div>
1046
-
1047
- </li>
1048
-
1049
- </ul>
1050
-
1051
- </div><table class="source_code">
1052
- <tr>
1053
- <td>
1054
- <pre class="lines">
1055
-
1056
-
1057
- 54
1058
- 55
1059
- 56
1060
- 57
1061
- 58</pre>
1062
- </td>
1063
- <td>
1064
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 54</span>
1065
-
1066
- <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span>
1067
- <span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_update_attribute'>update_attribute</span><span class='lparen'>(</span><span class='id identifier rubyid_source_attribute'>source_attribute</span><span class='comma'>,</span> <span class='id identifier rubyid_source_ids'>source_ids</span> <span class='op'>-</span> <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:id</span><span class='rparen'>)</span><span class='rparen'>)</span>
1068
- <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</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_o'>o</span><span class='op'>|</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:disassociate_target</span><span class='comma'>,</span> <span class='id identifier rubyid_o'>o</span><span class='rparen'>)</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_target_association'>target_association</span>
1069
- <span class='id identifier rubyid_object'>object</span>
1070
- <span class='kw'>end</span></pre>
1071
- </td>
1072
- </tr>
1073
- </table>
1074
- </div>
1075
-
1076
- <div class="method_details ">
1077
- <h3 class="signature " id="delete_all-instance_method">
1078
-
1079
- - (<tt>Object</tt>) <strong>delete_all</strong>
1080
-
1081
-
1082
-
1083
-
1084
-
1085
- </h3><div class="docstring">
1086
- <div class="discussion">
1087
- <p>Deletes all members of the association and removes them from the association.</p>
1088
-
1089
-
1090
- </div>
1091
- </div>
1092
- <div class="tags">
1093
-
1094
- <p class="tag_title">Since:</p>
1095
- <ul class="since">
1096
-
1097
- <li>
1098
-
1099
-
1100
-
1101
-
1102
-
1103
- <div class='inline'><p>0.2.0</p>
1104
- </div>
1105
-
1106
- </li>
1107
-
1108
- </ul>
1109
-
1110
- </div><table class="source_code">
1111
- <tr>
1112
- <td>
1113
- <pre class="lines">
1114
-
1115
-
1116
- 134
1117
- 135
1118
- 136
1119
- 137
1120
- 138</pre>
1121
- </td>
1122
- <td>
1123
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 134</span>
1124
-
1125
- <span class='kw'>def</span> <span class='id identifier rubyid_delete_all'>delete_all</span>
1126
- <span class='id identifier rubyid_objs'>objs</span> <span class='op'>=</span> <span class='id identifier rubyid_target'>target</span>
1127
- <span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_update_attribute'>update_attribute</span><span class='lparen'>(</span><span class='id identifier rubyid_source_attribute'>source_attribute</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1128
- <span class='id identifier rubyid_objs'>objs</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:delete</span><span class='rparen'>)</span>
1129
- <span class='kw'>end</span></pre>
1130
- </td>
1131
- </tr>
1132
- </table>
1133
- </div>
1134
-
1135
- <div class="method_details ">
1136
- <h3 class="signature " id="destroy_all-instance_method">
1137
-
1138
- - (<tt>Object</tt>) <strong>destroy_all</strong>
1139
-
1140
-
1141
-
1142
-
1143
-
1144
- </h3><div class="docstring">
1145
- <div class="discussion">
1146
- <p>Destroys all members of the association and removes them from the association.</p>
1147
-
1148
-
1149
- </div>
1150
- </div>
1151
- <div class="tags">
1152
-
1153
- <p class="tag_title">Since:</p>
1154
- <ul class="since">
1155
-
1156
- <li>
1157
-
1158
-
1159
-
1160
-
1161
-
1162
- <div class='inline'><p>0.2.0</p>
1163
- </div>
1164
-
1165
- </li>
1166
-
1167
- </ul>
1168
-
1169
- </div><table class="source_code">
1170
- <tr>
1171
- <td>
1172
- <pre class="lines">
1173
-
1174
-
1175
- 125
1176
- 126
1177
- 127
1178
- 128
1179
- 129</pre>
1180
- </td>
1181
- <td>
1182
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 125</span>
1183
-
1184
- <span class='kw'>def</span> <span class='id identifier rubyid_destroy_all'>destroy_all</span>
1185
- <span class='id identifier rubyid_objs'>objs</span> <span class='op'>=</span> <span class='id identifier rubyid_target'>target</span>
1186
- <span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_update_attribute'>update_attribute</span><span class='lparen'>(</span><span class='id identifier rubyid_source_attribute'>source_attribute</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1187
- <span class='id identifier rubyid_objs'>objs</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:destroy</span><span class='rparen'>)</span>
1188
- <span class='kw'>end</span></pre>
1189
- </td>
1190
- </tr>
1191
- </table>
1192
- </div>
1193
-
1194
- <div class="method_details ">
1195
- <h3 class="signature " id="each-instance_method">
1196
-
1197
- - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>each</strong>(&amp;block)
1198
-
1199
-
1200
-
1201
-
1202
-
1203
- </h3><div class="docstring">
1204
- <div class="discussion">
1205
- <p>Create a new instance of the target class and add it directly to the association. If the create fails an exception will be raised.</p>
1206
-
1207
-
1208
- </div>
1209
- </div>
1210
- <div class="tags">
1211
- <p class="tag_title">Parameters:</p>
1212
- <ul class="param">
1213
-
1214
- <li>
1215
-
1216
- <span class='name'>attribute</span>
1217
-
1218
-
1219
- <span class='type'>(<tt>Hash</tt>)</span>
1220
-
1221
-
1222
-
1223
- &mdash;
1224
- <div class='inline'><p>hash for the new object</p>
1225
- </div>
1226
-
1227
- </li>
1228
-
1229
- </ul>
1230
-
1231
- <p class="tag_title">Returns:</p>
1232
- <ul class="return">
1233
-
1234
- <li>
1235
-
1236
-
1237
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
1238
-
1239
-
1240
-
1241
- &mdash;
1242
- <div class='inline'><p>the newly-created object</p>
1243
- </div>
1244
-
1245
- </li>
1246
-
1247
- </ul>
1248
- <p class="tag_title">Since:</p>
1249
- <ul class="since">
1250
-
1251
- <li>
1252
-
1253
-
1254
-
1255
-
1256
-
1257
- <div class='inline'><p>0.2.0</p>
1258
- </div>
1259
-
1260
- </li>
1261
-
1262
- </ul>
1263
-
1264
- </div><table class="source_code">
1265
- <tr>
1266
- <td>
1267
- <pre class="lines">
1268
-
1269
-
1270
- 118
1271
- 119
1272
- 120</pre>
1273
- </td>
1274
- <td>
1275
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 118</span>
1276
-
1277
- <span class='kw'>def</span> <span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1278
- <span class='id identifier rubyid_records'>records</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1279
- <span class='kw'>end</span></pre>
1280
- </td>
1281
- </tr>
1282
- </table>
1283
- </div>
1284
-
1285
- <div class="method_details ">
1286
- <h3 class="signature " id="find_target-instance_method">
1287
-
1288
- - (<tt>Object</tt>) <strong>find_target</strong>
1289
-
1290
-
1291
-
1292
-
1293
-
1294
- </h3><div class="docstring">
1295
- <div class="discussion">
1296
- <p>The records associated to the source.</p>
1297
-
1298
-
1299
- </div>
1300
- </div>
1301
- <div class="tags">
1302
-
1303
- <p class="tag_title">Returns:</p>
1304
- <ul class="return">
1305
-
1306
- <li>
1307
-
1308
-
1309
- <span class='type'></span>
1310
-
1311
-
1312
-
1313
-
1314
- <div class='inline'><p>the association records; depending on which association this is, either a single instance or an array</p>
1315
- </div>
1316
-
1317
- </li>
1318
-
1319
- </ul>
1320
- <p class="tag_title">Since:</p>
1321
- <ul class="since">
1322
-
1323
- <li>
1324
-
1325
-
1326
-
1327
-
1328
-
1329
- <div class='inline'><p>0.2.0</p>
1330
- </div>
1331
-
1332
- </li>
1333
-
1334
- </ul>
1335
-
1336
- </div><table class="source_code">
1337
- <tr>
1338
- <td>
1339
- <pre class="lines">
1340
-
1341
-
1342
- 24
1343
- 25
1344
- 26</pre>
1345
- </td>
1346
- <td>
1347
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 24</span>
1348
-
1349
- <span class='kw'>def</span> <span class='id identifier rubyid_find_target'>find_target</span>
1350
- <span class='const'>Array</span><span class='lparen'>(</span><span class='id identifier rubyid_target_class'>target_class</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_source_ids'>source_ids</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span><span class='rparen'>)</span><span class='rparen'>)</span>
1351
- <span class='kw'>end</span></pre>
1352
- </td>
1353
- </tr>
1354
- </table>
1355
- </div>
1356
-
1357
- <div class="method_details ">
1358
- <h3 class="signature " id="include?-instance_method">
1359
-
1360
- - (<tt>Boolean</tt>) <strong>include?</strong>(object)
1361
-
1362
-
1363
-
1364
-
1365
-
1366
- </h3><div class="docstring">
1367
- <div class="discussion">
1368
- <p>Delegate include? to the records.</p>
1369
-
1370
-
1371
- </div>
1372
- </div>
1373
- <div class="tags">
1374
-
1375
- <p class="tag_title">Returns:</p>
1376
- <ul class="return">
1377
-
1378
- <li>
1379
-
1380
-
1381
- <span class='type'>(<tt>Boolean</tt>)</span>
1382
-
1383
-
1384
-
1385
- </li>
1386
-
1387
- </ul>
1388
-
1389
- </div><table class="source_code">
1390
- <tr>
1391
- <td>
1392
- <pre class="lines">
1393
-
1394
-
1395
- 42
1396
- 43
1397
- 44</pre>
1398
- </td>
1399
- <td>
1400
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 42</span>
1401
-
1402
- <span class='kw'>def</span> <span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span>
1403
- <span class='id identifier rubyid_records'>records</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span>
1404
- <span class='kw'>end</span></pre>
1405
- </td>
1406
- </tr>
1407
- </table>
1408
- </div>
1409
-
1410
- <div class="method_details ">
1411
- <h3 class="signature " id="initialize-instance_method">
1412
-
1413
- - (<tt>Object</tt>) <strong>initialize</strong>(*args)
1414
-
1415
-
1416
-
1417
-
1418
-
1419
- </h3><table class="source_code">
1420
- <tr>
1421
- <td>
1422
- <pre class="lines">
1423
-
1424
-
1425
- 10
1426
- 11
1427
- 12
1428
- 13</pre>
1429
- </td>
1430
- <td>
1431
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 10</span>
1432
-
1433
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
1434
- <span class='ivar'>@query</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1435
- <span class='kw'>super</span>
1436
- <span class='kw'>end</span></pre>
1437
- </td>
1438
- </tr>
1439
- </table>
1440
- </div>
1441
-
1442
- <div class="method_details ">
1443
- <h3 class="signature " id="records-instance_method">
1444
-
1445
- - (<tt>Object</tt>) <strong>records</strong>
1446
-
1447
-
1448
-
1449
- <span class="aliases">Also known as:
1450
- <span class="names"><span id='all-instance_method'>all</span></span>
1451
- </span>
1452
-
1453
-
1454
-
1455
- </h3><table class="source_code">
1456
- <tr>
1457
- <td>
1458
- <pre class="lines">
1459
-
1460
-
1461
- 28
1462
- 29
1463
- 30
1464
- 31
1465
- 32
1466
- 33
1467
- 34</pre>
1468
- </td>
1469
- <td>
1470
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 28</span>
1471
-
1472
- <span class='kw'>def</span> <span class='id identifier rubyid_records'>records</span>
1473
- <span class='kw'>if</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
1474
- <span class='id identifier rubyid_target'>target</span>
1475
- <span class='kw'>else</span>
1476
- <span class='id identifier rubyid_results_with_query'>results_with_query</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='rparen'>)</span>
1477
- <span class='kw'>end</span>
1478
- <span class='kw'>end</span></pre>
1479
- </td>
1480
- </tr>
1481
- </table>
1482
- </div>
1483
-
1484
- <div class="method_details ">
1485
- <h3 class="signature " id="setter-instance_method">
1486
-
1487
- - (<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>) <strong>setter</strong>(object)
1488
-
1489
-
1490
-
1491
-
1492
-
1493
- </h3><div class="docstring">
1494
- <div class="discussion">
1495
- <p>Replace an association with object or array of objects. This removes all of the existing associated records and replaces them with
1496
- the passed object(s), and associates the target association if it is detected to exist.</p>
1497
-
1498
-
1499
- </div>
1500
- </div>
1501
- <div class="tags">
1502
- <p class="tag_title">Parameters:</p>
1503
- <ul class="param">
1504
-
1505
- <li>
1506
-
1507
- <span class='name'>object</span>
1508
-
1509
-
1510
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
1511
-
1512
-
1513
-
1514
- &mdash;
1515
- <div class='inline'><p>the object (or array of objects) to add to the association</p>
1516
- </div>
1517
-
1518
- </li>
1519
-
1520
- </ul>
1521
-
1522
- <p class="tag_title">Returns:</p>
1523
- <ul class="return">
1524
-
1525
- <li>
1526
-
1527
-
1528
- <span class='type'>(<tt><span class='object_link'><a href="../Document.html" title="Dynamoid::Document (module)">Dynamoid::Document</a></span></tt>)</span>
1529
-
1530
-
1531
-
1532
- &mdash;
1533
- <div class='inline'><p>the added object</p>
1534
- </div>
1535
-
1536
- </li>
1537
-
1538
- </ul>
1539
- <p class="tag_title">Since:</p>
1540
- <ul class="since">
1541
-
1542
- <li>
1543
-
1544
-
1545
-
1546
-
1547
-
1548
- <div class='inline'><p>0.2.0</p>
1549
- </div>
1550
-
1551
- </li>
1552
-
1553
- </ul>
1554
-
1555
- </div><table class="source_code">
1556
- <tr>
1557
- <td>
1558
- <pre class="lines">
1559
-
1560
-
1561
- 83
1562
- 84
1563
- 85
1564
- 86
1565
- 87</pre>
1566
- </td>
1567
- <td>
1568
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 83</span>
1569
-
1570
- <span class='kw'>def</span> <span class='id identifier rubyid_setter'>setter</span><span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span>
1571
- <span class='id identifier rubyid_target'>target</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_o'>o</span><span class='op'>|</span> <span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_o'>o</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1572
- <span class='kw'>self</span> <span class='op'>&lt;&lt;</span> <span class='lparen'>(</span><span class='id identifier rubyid_object'>object</span><span class='rparen'>)</span>
1573
- <span class='id identifier rubyid_object'>object</span>
1574
- <span class='kw'>end</span></pre>
1575
- </td>
1576
- </tr>
1577
- </table>
1578
- </div>
1579
-
1580
- <div class="method_details ">
1581
- <h3 class="signature " id="where-instance_method">
1582
-
1583
- - (<tt>Dynamoid::Association</tt>) <strong>where</strong>(args)
1584
-
1585
-
1586
-
1587
-
1588
-
1589
- </h3><div class="docstring">
1590
- <div class="discussion">
1591
- <p>Naive association filtering.</p>
1592
-
1593
-
1594
- </div>
1595
- </div>
1596
- <div class="tags">
1597
- <p class="tag_title">Parameters:</p>
1598
- <ul class="param">
1599
-
1600
- <li>
1601
-
1602
- <span class='name'>A</span>
1603
-
1604
-
1605
- <span class='type'>(<tt>Hash</tt>)</span>
1606
-
1607
-
1608
-
1609
- &mdash;
1610
- <div class='inline'><p>hash of attributes; each must match every returned object's attribute exactly.</p>
1611
- </div>
1612
-
1613
- </li>
1614
-
1615
- </ul>
1616
-
1617
- <p class="tag_title">Returns:</p>
1618
- <ul class="return">
1619
-
1620
- <li>
1621
-
1622
-
1623
- <span class='type'>(<tt>Dynamoid::Association</tt>)</span>
1624
-
1625
-
1626
-
1627
- &mdash;
1628
- <div class='inline'><p>the association this method was called on (for chaining purposes)</p>
1629
- </div>
1630
-
1631
- </li>
1632
-
1633
- </ul>
1634
- <p class="tag_title">Since:</p>
1635
- <ul class="since">
1636
-
1637
- <li>
1638
-
1639
-
1640
-
1641
-
1642
-
1643
- <div class='inline'><p>0.2.0</p>
1644
- </div>
1645
-
1646
- </li>
1647
-
1648
- </ul>
1649
-
1650
- </div><table class="source_code">
1651
- <tr>
1652
- <td>
1653
- <pre class="lines">
1654
-
1655
-
1656
- 147
1657
- 148
1658
- 149
1659
- 150</pre>
1660
- </td>
1661
- <td>
1662
- <pre class="code"><span class="info file"># File 'lib/dynamoid/associations/many_association.rb', line 147</span>
1663
-
1664
- <span class='kw'>def</span> <span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
1665
- <span class='id identifier rubyid_args'>args</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_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_query'>query</span><span class='lbracket'>[</span><span class='id identifier rubyid_k'>k</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_v'>v</span><span class='rbrace'>}</span>
1666
- <span class='kw'>self</span>
1667
- <span class='kw'>end</span></pre>
1668
- </td>
1669
- </tr>
1670
- </table>
1671
- </div>
1672
-
1673
- </div>
1674
-
1675
- </div>
1676
-
1677
- <div id="footer">
1678
- Generated on Thu Jun 27 21:59:13 2013 by
1679
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1680
- 0.8.6.1 (ruby-1.9.3).
1681
- </div>
1682
-
1683
- </body>
1684
- </html>