dynamoid 0.7.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -24
  3. data/README.markdown +89 -73
  4. data/Rakefile +10 -36
  5. data/dynamoid.gemspec +56 -191
  6. data/lib/dynamoid.rb +6 -4
  7. data/lib/dynamoid/adapter.rb +64 -150
  8. data/lib/dynamoid/adapter_plugin/aws_sdk_v2.rb +579 -0
  9. data/lib/dynamoid/components.rb +0 -1
  10. data/lib/dynamoid/config.rb +2 -5
  11. data/lib/dynamoid/criteria.rb +1 -1
  12. data/lib/dynamoid/criteria/chain.rb +27 -140
  13. data/lib/dynamoid/document.rb +2 -2
  14. data/lib/dynamoid/errors.rb +30 -9
  15. data/lib/dynamoid/fields.rb +15 -3
  16. data/lib/dynamoid/finders.rb +7 -6
  17. data/lib/dynamoid/identity_map.rb +1 -5
  18. data/lib/dynamoid/persistence.rb +108 -93
  19. metadata +56 -229
  20. data/.document +0 -5
  21. data/.rspec +0 -1
  22. data/.travis.yml +0 -7
  23. data/Gemfile.lock +0 -81
  24. data/Gemfile_activemodel4 +0 -24
  25. data/Gemfile_activemodel4.lock +0 -88
  26. data/VERSION +0 -1
  27. data/doc/.nojekyll +0 -0
  28. data/doc/Dynamoid.html +0 -328
  29. data/doc/Dynamoid/Adapter.html +0 -1872
  30. data/doc/Dynamoid/Adapter/AwsSdk.html +0 -2101
  31. data/doc/Dynamoid/Adapter/Local.html +0 -1574
  32. data/doc/Dynamoid/Associations.html +0 -138
  33. data/doc/Dynamoid/Associations/Association.html +0 -847
  34. data/doc/Dynamoid/Associations/BelongsTo.html +0 -161
  35. data/doc/Dynamoid/Associations/ClassMethods.html +0 -766
  36. data/doc/Dynamoid/Associations/HasAndBelongsToMany.html +0 -167
  37. data/doc/Dynamoid/Associations/HasMany.html +0 -167
  38. data/doc/Dynamoid/Associations/HasOne.html +0 -161
  39. data/doc/Dynamoid/Associations/ManyAssociation.html +0 -1684
  40. data/doc/Dynamoid/Associations/SingleAssociation.html +0 -627
  41. data/doc/Dynamoid/Components.html +0 -242
  42. data/doc/Dynamoid/Config.html +0 -412
  43. data/doc/Dynamoid/Config/Options.html +0 -638
  44. data/doc/Dynamoid/Criteria.html +0 -138
  45. data/doc/Dynamoid/Criteria/Chain.html +0 -1471
  46. data/doc/Dynamoid/Criteria/ClassMethods.html +0 -105
  47. data/doc/Dynamoid/Dirty.html +0 -424
  48. data/doc/Dynamoid/Dirty/ClassMethods.html +0 -174
  49. data/doc/Dynamoid/Document.html +0 -1033
  50. data/doc/Dynamoid/Document/ClassMethods.html +0 -1116
  51. data/doc/Dynamoid/Errors.html +0 -125
  52. data/doc/Dynamoid/Errors/ConditionalCheckFailedException.html +0 -141
  53. data/doc/Dynamoid/Errors/DocumentNotValid.html +0 -221
  54. data/doc/Dynamoid/Errors/Error.html +0 -137
  55. data/doc/Dynamoid/Errors/InvalidField.html +0 -141
  56. data/doc/Dynamoid/Errors/InvalidQuery.html +0 -131
  57. data/doc/Dynamoid/Errors/MissingRangeKey.html +0 -141
  58. data/doc/Dynamoid/Fields.html +0 -686
  59. data/doc/Dynamoid/Fields/ClassMethods.html +0 -438
  60. data/doc/Dynamoid/Finders.html +0 -135
  61. data/doc/Dynamoid/Finders/ClassMethods.html +0 -943
  62. data/doc/Dynamoid/IdentityMap.html +0 -492
  63. data/doc/Dynamoid/IdentityMap/ClassMethods.html +0 -534
  64. data/doc/Dynamoid/Indexes.html +0 -321
  65. data/doc/Dynamoid/Indexes/ClassMethods.html +0 -369
  66. data/doc/Dynamoid/Indexes/Index.html +0 -1142
  67. data/doc/Dynamoid/Middleware.html +0 -115
  68. data/doc/Dynamoid/Middleware/IdentityMap.html +0 -264
  69. data/doc/Dynamoid/Persistence.html +0 -892
  70. data/doc/Dynamoid/Persistence/ClassMethods.html +0 -836
  71. data/doc/Dynamoid/Validations.html +0 -415
  72. data/doc/_index.html +0 -506
  73. data/doc/class_list.html +0 -53
  74. data/doc/css/common.css +0 -1
  75. data/doc/css/full_list.css +0 -57
  76. data/doc/css/style.css +0 -338
  77. data/doc/file.LICENSE.html +0 -73
  78. data/doc/file.README.html +0 -416
  79. data/doc/file_list.html +0 -58
  80. data/doc/frames.html +0 -28
  81. data/doc/index.html +0 -416
  82. data/doc/js/app.js +0 -214
  83. data/doc/js/full_list.js +0 -178
  84. data/doc/js/jquery.js +0 -4
  85. data/doc/method_list.html +0 -1144
  86. data/doc/top-level-namespace.html +0 -112
  87. data/lib/dynamoid/adapter/aws_sdk.rb +0 -287
  88. data/lib/dynamoid/indexes.rb +0 -69
  89. data/lib/dynamoid/indexes/index.rb +0 -103
  90. data/spec/app/models/address.rb +0 -13
  91. data/spec/app/models/camel_case.rb +0 -34
  92. data/spec/app/models/car.rb +0 -6
  93. data/spec/app/models/magazine.rb +0 -11
  94. data/spec/app/models/message.rb +0 -9
  95. data/spec/app/models/nuclear_submarine.rb +0 -5
  96. data/spec/app/models/sponsor.rb +0 -8
  97. data/spec/app/models/subscription.rb +0 -12
  98. data/spec/app/models/tweet.rb +0 -12
  99. data/spec/app/models/user.rb +0 -26
  100. data/spec/app/models/vehicle.rb +0 -7
  101. data/spec/dynamoid/adapter/aws_sdk_spec.rb +0 -376
  102. data/spec/dynamoid/adapter_spec.rb +0 -155
  103. data/spec/dynamoid/associations/association_spec.rb +0 -194
  104. data/spec/dynamoid/associations/belongs_to_spec.rb +0 -71
  105. data/spec/dynamoid/associations/has_and_belongs_to_many_spec.rb +0 -47
  106. data/spec/dynamoid/associations/has_many_spec.rb +0 -42
  107. data/spec/dynamoid/associations/has_one_spec.rb +0 -45
  108. data/spec/dynamoid/associations_spec.rb +0 -16
  109. data/spec/dynamoid/config_spec.rb +0 -27
  110. data/spec/dynamoid/criteria/chain_spec.rb +0 -210
  111. data/spec/dynamoid/criteria_spec.rb +0 -75
  112. data/spec/dynamoid/dirty_spec.rb +0 -57
  113. data/spec/dynamoid/document_spec.rb +0 -180
  114. data/spec/dynamoid/fields_spec.rb +0 -156
  115. data/spec/dynamoid/finders_spec.rb +0 -147
  116. data/spec/dynamoid/identity_map_spec.rb +0 -45
  117. data/spec/dynamoid/indexes/index_spec.rb +0 -104
  118. data/spec/dynamoid/indexes_spec.rb +0 -25
  119. data/spec/dynamoid/persistence_spec.rb +0 -301
  120. data/spec/dynamoid/validations_spec.rb +0 -36
  121. data/spec/dynamoid_spec.rb +0 -9
  122. data/spec/spec_helper.rb +0 -55
  123. data/spec/support/with_partitioning.rb +0 -15
@@ -1,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>