jsonapi_compliable 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +8 -0
- data/docs/Jsonapi.html +1 -1
- data/docs/Jsonapi/ResourceGenerator.html +13 -123
- data/docs/JsonapiCompliable.html +2 -2
- data/docs/JsonapiCompliable/Adapters.html +1 -1
- data/docs/JsonapiCompliable/Adapters/Abstract.html +193 -17
- data/docs/JsonapiCompliable/Adapters/ActiveRecord.html +106 -20
- data/docs/JsonapiCompliable/Adapters/ActiveRecordSideloading.html +4 -4
- data/docs/JsonapiCompliable/Adapters/Null.html +2 -2
- data/docs/JsonapiCompliable/Base.html +2 -2
- data/docs/JsonapiCompliable/Deserializer.html +25 -23
- data/docs/JsonapiCompliable/Errors.html +1 -1
- data/docs/JsonapiCompliable/Errors/BadFilter.html +1 -1
- data/docs/JsonapiCompliable/Errors/StatNotFound.html +1 -1
- data/docs/JsonapiCompliable/Errors/UnsupportedPageSize.html +1 -1
- data/docs/JsonapiCompliable/Errors/ValidationError.html +1 -1
- data/docs/JsonapiCompliable/Extensions.html +1 -1
- data/docs/JsonapiCompliable/Extensions/BooleanAttribute.html +1 -1
- data/docs/JsonapiCompliable/Extensions/BooleanAttribute/ClassMethods.html +1 -1
- data/docs/JsonapiCompliable/Extensions/ExtraAttribute.html +1 -1
- data/docs/JsonapiCompliable/Extensions/ExtraAttribute/ClassMethods.html +1 -1
- data/docs/JsonapiCompliable/Query.html +1 -1
- data/docs/JsonapiCompliable/Rails.html +1 -1
- data/docs/JsonapiCompliable/Resource.html +261 -109
- data/docs/JsonapiCompliable/Scope.html +1 -1
- data/docs/JsonapiCompliable/Scoping.html +1 -1
- data/docs/JsonapiCompliable/Scoping/Base.html +1 -1
- data/docs/JsonapiCompliable/Scoping/DefaultFilter.html +1 -1
- data/docs/JsonapiCompliable/Scoping/ExtraFields.html +1 -1
- data/docs/JsonapiCompliable/Scoping/Filter.html +1 -1
- data/docs/JsonapiCompliable/Scoping/Filterable.html +1 -1
- data/docs/JsonapiCompliable/Scoping/Paginate.html +1 -1
- data/docs/JsonapiCompliable/Scoping/Sort.html +1 -1
- data/docs/JsonapiCompliable/SerializableTempId.html +1 -1
- data/docs/JsonapiCompliable/Sideload.html +691 -124
- data/docs/JsonapiCompliable/Stats.html +1 -1
- data/docs/JsonapiCompliable/Stats/DSL.html +1 -1
- data/docs/JsonapiCompliable/Stats/Payload.html +1 -1
- data/docs/JsonapiCompliable/Util.html +1 -1
- data/docs/JsonapiCompliable/Util/FieldParams.html +1 -1
- data/docs/JsonapiCompliable/Util/Hash.html +1 -1
- data/docs/JsonapiCompliable/Util/IncludeParams.html +1 -1
- data/docs/JsonapiCompliable/Util/Persistence.html +22 -12
- data/docs/JsonapiCompliable/Util/RelationshipPayload.html +1 -1
- data/docs/JsonapiCompliable/Util/RenderOptions.html +1 -1
- data/docs/JsonapiCompliable/Util/ValidationResponse.html +1 -1
- data/docs/_index.html +1 -1
- data/docs/file.README.html +11 -14
- data/docs/index.html +11 -14
- data/docs/method_list.html +368 -280
- data/docs/top-level-namespace.html +1 -1
- data/lib/jsonapi_compliable/sideload.rb +38 -17
- data/lib/jsonapi_compliable/util/relationship_payload.rb +1 -0
- data/lib/jsonapi_compliable/version.rb +1 -1
- metadata +3 -3
@@ -693,7 +693,7 @@ sideload</p>
|
|
693
693
|
</div>
|
694
694
|
|
695
695
|
<div id="footer">
|
696
|
-
Generated on
|
696
|
+
Generated on Thu Sep 28 17:28:10 2017 by
|
697
697
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
698
698
|
0.9.9 (ruby-2.3.0).
|
699
699
|
</div>
|
@@ -107,7 +107,7 @@
|
|
107
107
|
</div>
|
108
108
|
|
109
109
|
<div id="footer">
|
110
|
-
Generated on
|
110
|
+
Generated on Thu Sep 28 17:28:10 2017 by
|
111
111
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
112
112
|
0.9.9 (ruby-2.3.0).
|
113
113
|
</div>
|
@@ -833,7 +833,7 @@ a default in certain contexts.</p>
|
|
833
833
|
</div>
|
834
834
|
|
835
835
|
<div id="footer">
|
836
|
-
Generated on
|
836
|
+
Generated on Thu Sep 28 17:28:11 2017 by
|
837
837
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
838
838
|
0.9.9 (ruby-2.3.0).
|
839
839
|
</div>
|
@@ -308,7 +308,7 @@ filter, and apply the default proc unless an explicit override is requested</p>
|
|
308
308
|
</div>
|
309
309
|
|
310
310
|
<div id="footer">
|
311
|
-
Generated on
|
311
|
+
Generated on Thu Sep 28 17:28:11 2017 by
|
312
312
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
313
313
|
0.9.9 (ruby-2.3.0).
|
314
314
|
</div>
|
@@ -291,7 +291,7 @@ for that field, run it. Otherwise, do nothing.</p>
|
|
291
291
|
</div>
|
292
292
|
|
293
293
|
<div id="footer">
|
294
|
-
Generated on
|
294
|
+
Generated on Thu Sep 28 17:28:11 2017 by
|
295
295
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
296
296
|
0.9.9 (ruby-2.3.0).
|
297
297
|
</div>
|
@@ -303,7 +303,7 @@ aliases. If valid, call either the default or custom filtering logic.</p>
|
|
303
303
|
</div>
|
304
304
|
|
305
305
|
<div id="footer">
|
306
|
-
Generated on
|
306
|
+
Generated on Thu Sep 28 17:28:11 2017 by
|
307
307
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
308
308
|
0.9.9 (ruby-2.3.0).
|
309
309
|
</div>
|
@@ -354,7 +354,7 @@
|
|
354
354
|
</div>
|
355
355
|
|
356
356
|
<div id="footer">
|
357
|
-
Generated on
|
357
|
+
Generated on Thu Sep 28 17:28:10 2017 by
|
358
358
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
359
359
|
0.9.9 (ruby-2.3.0).
|
360
360
|
</div>
|
@@ -603,7 +603,7 @@ explicitly specified in the request.</p>
|
|
603
603
|
</div>
|
604
604
|
|
605
605
|
<div id="footer">
|
606
|
-
Generated on
|
606
|
+
Generated on Thu Sep 28 17:28:11 2017 by
|
607
607
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
608
608
|
0.9.9 (ruby-2.3.0).
|
609
609
|
</div>
|
@@ -444,7 +444,7 @@ proc:</p>
|
|
444
444
|
</div>
|
445
445
|
|
446
446
|
<div id="footer">
|
447
|
-
Generated on
|
447
|
+
Generated on Thu Sep 28 17:28:11 2017 by
|
448
448
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
449
449
|
0.9.9 (ruby-2.3.0).
|
450
450
|
</div>
|
@@ -206,7 +206,7 @@ reference it directly.</p>
|
|
206
206
|
</div>
|
207
207
|
|
208
208
|
<div id="footer">
|
209
|
-
Generated on
|
209
|
+
Generated on Thu Sep 28 17:28:10 2017 by
|
210
210
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
211
211
|
0.9.9 (ruby-2.3.0).
|
212
212
|
</div>
|
@@ -100,6 +100,16 @@
|
|
100
100
|
</div>
|
101
101
|
|
102
102
|
|
103
|
+
<h2>Constant Summary</h2>
|
104
|
+
<dl class="constants">
|
105
|
+
|
106
|
+
<dt id="HOOK_ACTIONS-constant" class="">HOOK_ACTIONS =
|
107
|
+
|
108
|
+
</dt>
|
109
|
+
<dd><pre class="code"><span class='lbracket'>[</span><span class='symbol'>:save</span><span class='comma'>,</span> <span class='symbol'>:create</span><span class='comma'>,</span> <span class='symbol'>:update</span><span class='comma'>,</span> <span class='symbol'>:destroy</span><span class='comma'>,</span> <span class='symbol'>:disassociate</span><span class='rbracket'>]</span></pre></dd>
|
110
|
+
|
111
|
+
</dl>
|
112
|
+
|
103
113
|
|
104
114
|
|
105
115
|
|
@@ -462,6 +472,63 @@ key.</p>
|
|
462
472
|
|
463
473
|
|
464
474
|
|
475
|
+
<h2>
|
476
|
+
Class Method Summary
|
477
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
478
|
+
</h2>
|
479
|
+
|
480
|
+
<ul class="summary">
|
481
|
+
|
482
|
+
<li class="public ">
|
483
|
+
<span class="summary_signature">
|
484
|
+
|
485
|
+
<a href="#max_depth-class_method" title="max_depth (class method)">.<strong>max_depth</strong> ⇒ Object </a>
|
486
|
+
|
487
|
+
|
488
|
+
|
489
|
+
</span>
|
490
|
+
|
491
|
+
|
492
|
+
|
493
|
+
|
494
|
+
|
495
|
+
|
496
|
+
<span class="private note title">private</span>
|
497
|
+
|
498
|
+
|
499
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
500
|
+
|
501
|
+
</li>
|
502
|
+
|
503
|
+
|
504
|
+
<li class="public ">
|
505
|
+
<span class="summary_signature">
|
506
|
+
|
507
|
+
<a href="#max_depth=-class_method" title="max_depth= (class method)">.<strong>max_depth=</strong>(val) ⇒ Object </a>
|
508
|
+
|
509
|
+
|
510
|
+
|
511
|
+
</span>
|
512
|
+
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
|
517
|
+
|
518
|
+
|
519
|
+
|
520
|
+
|
521
|
+
<span class="summary_desc"><div class='inline'>
|
522
|
+
<p>Set maximum levels of sideload recursion /authors?comments.authors would be
|
523
|
+
one level /authors?comments.authors.comments.authors would be two levels
|
524
|
+
etc.</p>
|
525
|
+
</div></span>
|
526
|
+
|
527
|
+
</li>
|
528
|
+
|
529
|
+
|
530
|
+
</ul>
|
531
|
+
|
465
532
|
<h2>
|
466
533
|
Instance Method Summary
|
467
534
|
<small><a href="#" class="summary_toggle">collapse</a></small>
|
@@ -472,6 +539,52 @@ key.</p>
|
|
472
539
|
<li class="public ">
|
473
540
|
<span class="summary_signature">
|
474
541
|
|
542
|
+
<a href="#after_save-instance_method" title="#after_save (instance method)">#<strong>after_save</strong>(only: [], except: [], &blk) ⇒ Object </a>
|
543
|
+
|
544
|
+
|
545
|
+
|
546
|
+
</span>
|
547
|
+
|
548
|
+
|
549
|
+
|
550
|
+
|
551
|
+
|
552
|
+
|
553
|
+
|
554
|
+
|
555
|
+
|
556
|
+
<span class="summary_desc"><div class='inline'>
|
557
|
+
<p>Configure post-processing hooks.</p>
|
558
|
+
</div></span>
|
559
|
+
|
560
|
+
</li>
|
561
|
+
|
562
|
+
|
563
|
+
<li class="public ">
|
564
|
+
<span class="summary_signature">
|
565
|
+
|
566
|
+
<a href="#all_sideloads-instance_method" title="#all_sideloads (instance method)">#<strong>all_sideloads</strong> ⇒ Object </a>
|
567
|
+
|
568
|
+
|
569
|
+
|
570
|
+
</span>
|
571
|
+
|
572
|
+
|
573
|
+
|
574
|
+
|
575
|
+
|
576
|
+
|
577
|
+
<span class="private note title">private</span>
|
578
|
+
|
579
|
+
|
580
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
581
|
+
|
582
|
+
</li>
|
583
|
+
|
584
|
+
|
585
|
+
<li class="public ">
|
586
|
+
<span class="summary_signature">
|
587
|
+
|
475
588
|
<a href="#allow_sideload-instance_method" title="#allow_sideload (instance method)">#<strong>allow_sideload</strong>(name, opts = {}, &blk) ⇒ Object </a>
|
476
589
|
|
477
590
|
|
@@ -531,13 +644,59 @@ key.</p>
|
|
531
644
|
|
532
645
|
|
533
646
|
|
534
|
-
|
647
|
+
<span class="private note title">private</span>
|
535
648
|
|
536
649
|
|
537
650
|
<span class="summary_desc"><div class='inline'>
|
538
651
|
<p>Configure how to associate parent and child records.</p>
|
539
652
|
</div></span>
|
540
653
|
|
654
|
+
</li>
|
655
|
+
|
656
|
+
|
657
|
+
<li class="public ">
|
658
|
+
<span class="summary_signature">
|
659
|
+
|
660
|
+
<a href="#disassociate-instance_method" title="#disassociate (instance method)">#<strong>disassociate</strong>(parent, child) ⇒ Object </a>
|
661
|
+
|
662
|
+
|
663
|
+
|
664
|
+
</span>
|
665
|
+
|
666
|
+
|
667
|
+
|
668
|
+
|
669
|
+
|
670
|
+
|
671
|
+
<span class="private note title">private</span>
|
672
|
+
|
673
|
+
|
674
|
+
<span class="summary_desc"><div class='inline'>
|
675
|
+
<p>Configure how to disassociate parent and child records.</p>
|
676
|
+
</div></span>
|
677
|
+
|
678
|
+
</li>
|
679
|
+
|
680
|
+
|
681
|
+
<li class="public ">
|
682
|
+
<span class="summary_signature">
|
683
|
+
|
684
|
+
<a href="#fire_hooks!-instance_method" title="#fire_hooks! (instance method)">#<strong>fire_hooks!</strong>(parent, objects, method) ⇒ Object </a>
|
685
|
+
|
686
|
+
|
687
|
+
|
688
|
+
</span>
|
689
|
+
|
690
|
+
|
691
|
+
|
692
|
+
|
693
|
+
|
694
|
+
|
695
|
+
|
696
|
+
|
697
|
+
|
698
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
699
|
+
|
541
700
|
</li>
|
542
701
|
|
543
702
|
|
@@ -562,6 +721,30 @@ key.</p>
|
|
562
721
|
<p>Define an attribute that groups the parent records.</p>
|
563
722
|
</div></span>
|
564
723
|
|
724
|
+
</li>
|
725
|
+
|
726
|
+
|
727
|
+
<li class="public ">
|
728
|
+
<span class="summary_signature">
|
729
|
+
|
730
|
+
<a href="#hooks-instance_method" title="#hooks (instance method)">#<strong>hooks</strong> ⇒ Object </a>
|
731
|
+
|
732
|
+
|
733
|
+
|
734
|
+
</span>
|
735
|
+
|
736
|
+
|
737
|
+
|
738
|
+
|
739
|
+
|
740
|
+
|
741
|
+
|
742
|
+
|
743
|
+
|
744
|
+
<span class="summary_desc"><div class='inline'>
|
745
|
+
<p>Get the hooks the user has configured.</p>
|
746
|
+
</div></span>
|
747
|
+
|
565
748
|
</li>
|
566
749
|
|
567
750
|
|
@@ -738,7 +921,7 @@ will be further chained with filtering/sorting/etc.</p>
|
|
738
921
|
<li class="public ">
|
739
922
|
<span class="summary_signature">
|
740
923
|
|
741
|
-
<a href="#to_hash-instance_method" title="#to_hash (instance method)">#<strong>to_hash</strong>(
|
924
|
+
<a href="#to_hash-instance_method" title="#to_hash (instance method)">#<strong>to_hash</strong>(depth_chain = [], parent = nil) ⇒ Hash </a>
|
742
925
|
|
743
926
|
|
744
927
|
|
@@ -1561,12 +1744,251 @@ key.</p>
|
|
1561
1744
|
</div>
|
1562
1745
|
|
1563
1746
|
|
1747
|
+
<div id="class_method_details" class="method_details_list">
|
1748
|
+
<h2>Class Method Details</h2>
|
1749
|
+
|
1750
|
+
|
1751
|
+
<div class="method_details first">
|
1752
|
+
<h3 class="signature first" id="max_depth-class_method">
|
1753
|
+
|
1754
|
+
.<strong>max_depth</strong> ⇒ <tt>Object</tt>
|
1755
|
+
|
1756
|
+
|
1757
|
+
|
1758
|
+
|
1759
|
+
|
1760
|
+
</h3><div class="docstring">
|
1761
|
+
<div class="discussion">
|
1762
|
+
<p class="note private">
|
1763
|
+
<strong>This method is part of a private API.</strong>
|
1764
|
+
You should avoid using this method if possible, as it may be removed or be changed in the future.
|
1765
|
+
</p>
|
1766
|
+
|
1767
|
+
|
1768
|
+
</div>
|
1769
|
+
</div>
|
1770
|
+
<div class="tags">
|
1771
|
+
|
1772
|
+
|
1773
|
+
</div><table class="source_code">
|
1774
|
+
<tr>
|
1775
|
+
<td>
|
1776
|
+
<pre class="lines">
|
1777
|
+
|
1778
|
+
|
1779
|
+
47
|
1780
|
+
48
|
1781
|
+
49</pre>
|
1782
|
+
</td>
|
1783
|
+
<td>
|
1784
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 47</span>
|
1785
|
+
|
1786
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_max_depth'>max_depth</span>
|
1787
|
+
<span class='ivar'>@max_depth</span> <span class='op'>||</span> <span class='int'>2</span>
|
1788
|
+
<span class='kw'>end</span></pre>
|
1789
|
+
</td>
|
1790
|
+
</tr>
|
1791
|
+
</table>
|
1792
|
+
</div>
|
1793
|
+
|
1794
|
+
<div class="method_details ">
|
1795
|
+
<h3 class="signature " id="max_depth=-class_method">
|
1796
|
+
|
1797
|
+
.<strong>max_depth=</strong>(val) ⇒ <tt>Object</tt>
|
1798
|
+
|
1799
|
+
|
1800
|
+
|
1801
|
+
|
1802
|
+
|
1803
|
+
</h3><div class="docstring">
|
1804
|
+
<div class="discussion">
|
1805
|
+
|
1806
|
+
<p>Set maximum levels of sideload recursion /authors?comments.authors would be
|
1807
|
+
one level /authors?comments.authors.comments.authors would be two levels
|
1808
|
+
etc</p>
|
1809
|
+
|
1810
|
+
<p>Default max depth is 2</p>
|
1811
|
+
|
1812
|
+
|
1813
|
+
</div>
|
1814
|
+
</div>
|
1815
|
+
<div class="tags">
|
1816
|
+
|
1817
|
+
|
1818
|
+
</div><table class="source_code">
|
1819
|
+
<tr>
|
1820
|
+
<td>
|
1821
|
+
<pre class="lines">
|
1822
|
+
|
1823
|
+
|
1824
|
+
57
|
1825
|
+
58
|
1826
|
+
59</pre>
|
1827
|
+
</td>
|
1828
|
+
<td>
|
1829
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 57</span>
|
1830
|
+
|
1831
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_max_depth='>max_depth=</span><span class='lparen'>(</span><span class='id identifier rubyid_val'>val</span><span class='rparen'>)</span>
|
1832
|
+
<span class='ivar'>@max_depth</span> <span class='op'>=</span> <span class='id identifier rubyid_val'>val</span>
|
1833
|
+
<span class='kw'>end</span></pre>
|
1834
|
+
</td>
|
1835
|
+
</tr>
|
1836
|
+
</table>
|
1837
|
+
</div>
|
1838
|
+
|
1839
|
+
</div>
|
1840
|
+
|
1564
1841
|
<div id="instance_method_details" class="method_details_list">
|
1565
1842
|
<h2>Instance Method Details</h2>
|
1566
1843
|
|
1567
1844
|
|
1568
1845
|
<div class="method_details first">
|
1569
|
-
<h3 class="signature first" id="
|
1846
|
+
<h3 class="signature first" id="after_save-instance_method">
|
1847
|
+
|
1848
|
+
#<strong>after_save</strong>(only: [], except: [], &blk) ⇒ <tt>Object</tt>
|
1849
|
+
|
1850
|
+
|
1851
|
+
|
1852
|
+
|
1853
|
+
|
1854
|
+
</h3><div class="docstring">
|
1855
|
+
<div class="discussion">
|
1856
|
+
|
1857
|
+
<p>Configure post-processing hooks</p>
|
1858
|
+
|
1859
|
+
<p>In particular, helpful for bulk operations. “after_save” will fire for any
|
1860
|
+
persistence method - <code>:create</code>, <code>:update</code>,
|
1861
|
+
<code>:destroy</code>, <code>:disassociate</code>. Use “only” and “except”
|
1862
|
+
keyword arguments to fire only for a specific persistence method.</p>
|
1863
|
+
|
1864
|
+
|
1865
|
+
</div>
|
1866
|
+
</div>
|
1867
|
+
<div class="tags">
|
1868
|
+
|
1869
|
+
<div class="examples">
|
1870
|
+
<p class="tag_title">Examples:</p>
|
1871
|
+
|
1872
|
+
|
1873
|
+
<p class="example_title"><div class='inline'>
|
1874
|
+
<p>Bulk Notify Users on Invite</p>
|
1875
|
+
</div></p>
|
1876
|
+
|
1877
|
+
<pre class="example code"><code><span class='kw'>class</span> <span class='const'>ProjectResource</span> <span class='op'><</span> <span class='const'>ApplicationResource</span>
|
1878
|
+
<span class='comment'># ... code ...
|
1879
|
+
</span> <span class='id identifier rubyid_allow_sideload'>allow_sideload</span> <span class='symbol'>:users</span><span class='comma'>,</span> <span class='label'>resource:</span> <span class='const'>UserResource</span> <span class='kw'>do</span>
|
1880
|
+
<span class='comment'># scope {}
|
1881
|
+
</span> <span class='comment'># assign {}
|
1882
|
+
</span> <span class='id identifier rubyid_after_save'>after_save</span> <span class='label'>only:</span> <span class='lbracket'>[</span><span class='symbol'>:create</span><span class='rbracket'>]</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_project'>project</span><span class='comma'>,</span> <span class='id identifier rubyid_users'>users</span><span class='op'>|</span>
|
1883
|
+
<span class='const'>UserMailer</span><span class='period'>.</span><span class='id identifier rubyid_invite'>invite</span><span class='lparen'>(</span><span class='id identifier rubyid_project'>project</span><span class='comma'>,</span> <span class='id identifier rubyid_users'>users</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_deliver_later'>deliver_later</span>
|
1884
|
+
<span class='kw'>end</span>
|
1885
|
+
<span class='kw'>end</span>
|
1886
|
+
<span class='kw'>end</span></code></pre>
|
1887
|
+
|
1888
|
+
</div>
|
1889
|
+
|
1890
|
+
|
1891
|
+
<p class="tag_title">See Also:</p>
|
1892
|
+
<ul class="see">
|
1893
|
+
|
1894
|
+
<li><span class='object_link'><a href="#hooks-instance_method" title="JsonapiCompliable::Sideload#hooks (method)">#hooks</a></span></li>
|
1895
|
+
|
1896
|
+
<li><span class='object_link'><a href="Util/Persistence.html" title="JsonapiCompliable::Util::Persistence (class)">Util::Persistence</a></span></li>
|
1897
|
+
|
1898
|
+
</ul>
|
1899
|
+
|
1900
|
+
</div><table class="source_code">
|
1901
|
+
<tr>
|
1902
|
+
<td>
|
1903
|
+
<pre class="lines">
|
1904
|
+
|
1905
|
+
|
1906
|
+
232
|
1907
|
+
233
|
1908
|
+
234
|
1909
|
+
235
|
1910
|
+
236
|
1911
|
+
237
|
1912
|
+
238
|
1913
|
+
239</pre>
|
1914
|
+
</td>
|
1915
|
+
<td>
|
1916
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 232</span>
|
1917
|
+
|
1918
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_after_save'>after_save</span><span class='lparen'>(</span><span class='label'>only:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>except:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
|
1919
|
+
<span class='id identifier rubyid_actions'>actions</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="#HOOK_ACTIONS-constant" title="JsonapiCompliable::Sideload::HOOK_ACTIONS (constant)">HOOK_ACTIONS</a></span></span> <span class='op'>-</span> <span class='id identifier rubyid_except'>except</span>
|
1920
|
+
<span class='id identifier rubyid_actions'>actions</span> <span class='op'>=</span> <span class='id identifier rubyid_only'>only</span> <span class='op'>&</span> <span class='id identifier rubyid_actions'>actions</span>
|
1921
|
+
<span class='id identifier rubyid_actions'>actions</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:save</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_only'>only</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>&&</span> <span class='id identifier rubyid_except'>except</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1922
|
+
<span class='id identifier rubyid_actions'>actions</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='op'>|</span>
|
1923
|
+
<span class='id identifier rubyid_hooks'>hooks</span><span class='lbracket'>[</span><span class='symbol'>:after_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_a'>a</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'><<</span> <span class='id identifier rubyid_blk'>blk</span>
|
1924
|
+
<span class='kw'>end</span>
|
1925
|
+
<span class='kw'>end</span></pre>
|
1926
|
+
</td>
|
1927
|
+
</tr>
|
1928
|
+
</table>
|
1929
|
+
</div>
|
1930
|
+
|
1931
|
+
<div class="method_details ">
|
1932
|
+
<h3 class="signature " id="all_sideloads-instance_method">
|
1933
|
+
|
1934
|
+
#<strong>all_sideloads</strong> ⇒ <tt>Object</tt>
|
1935
|
+
|
1936
|
+
|
1937
|
+
|
1938
|
+
|
1939
|
+
|
1940
|
+
</h3><div class="docstring">
|
1941
|
+
<div class="discussion">
|
1942
|
+
<p class="note private">
|
1943
|
+
<strong>This method is part of a private API.</strong>
|
1944
|
+
You should avoid using this method if possible, as it may be removed or be changed in the future.
|
1945
|
+
</p>
|
1946
|
+
|
1947
|
+
|
1948
|
+
</div>
|
1949
|
+
</div>
|
1950
|
+
<div class="tags">
|
1951
|
+
|
1952
|
+
|
1953
|
+
</div><table class="source_code">
|
1954
|
+
<tr>
|
1955
|
+
<td>
|
1956
|
+
<pre class="lines">
|
1957
|
+
|
1958
|
+
|
1959
|
+
350
|
1960
|
+
351
|
1961
|
+
352
|
1962
|
+
353
|
1963
|
+
354
|
1964
|
+
355
|
1965
|
+
356
|
1966
|
+
357
|
1967
|
+
358
|
1968
|
+
359
|
1969
|
+
360</pre>
|
1970
|
+
</td>
|
1971
|
+
<td>
|
1972
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 350</span>
|
1973
|
+
|
1974
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_all_sideloads'>all_sideloads</span>
|
1975
|
+
<span class='lbrace'>{</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_all'>all</span><span class='op'>|</span>
|
1976
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_polymorphic?'>polymorphic?</span>
|
1977
|
+
<span class='id identifier rubyid_polymorphic_groups'>polymorphic_groups</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_sl'>sl</span><span class='op'>|</span>
|
1978
|
+
<span class='id identifier rubyid_all'>all</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_sl'>sl</span><span class='period'>.</span><span class='id identifier rubyid_resource'>resource</span><span class='period'>.</span><span class='id identifier rubyid_sideloading'>sideloading</span><span class='period'>.</span><span class='id identifier rubyid_all_sideloads'>all_sideloads</span><span class='rparen'>)</span>
|
1979
|
+
<span class='kw'>end</span>
|
1980
|
+
<span class='kw'>else</span>
|
1981
|
+
<span class='id identifier rubyid_all'>all</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='ivar'>@sideloads</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_resource'>resource</span><span class='period'>.</span><span class='id identifier rubyid_sideloading'>sideloading</span><span class='period'>.</span><span class='id identifier rubyid_sideloads'>sideloads</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1982
|
+
<span class='kw'>end</span>
|
1983
|
+
<span class='kw'>end</span>
|
1984
|
+
<span class='kw'>end</span></pre>
|
1985
|
+
</td>
|
1986
|
+
</tr>
|
1987
|
+
</table>
|
1988
|
+
</div>
|
1989
|
+
|
1990
|
+
<div class="method_details ">
|
1991
|
+
<h3 class="signature " id="allow_sideload-instance_method">
|
1570
1992
|
|
1571
1993
|
#<strong>allow_sideload</strong>(name, opts = {}, &blk) ⇒ <tt>Object</tt>
|
1572
1994
|
|
@@ -1661,19 +2083,19 @@ directly</p>
|
|
1661
2083
|
<pre class="lines">
|
1662
2084
|
|
1663
2085
|
|
1664
|
-
|
1665
|
-
|
1666
|
-
|
1667
|
-
|
1668
|
-
|
1669
|
-
|
1670
|
-
|
1671
|
-
|
1672
|
-
|
1673
|
-
|
2086
|
+
330
|
2087
|
+
331
|
2088
|
+
332
|
2089
|
+
333
|
2090
|
+
334
|
2091
|
+
335
|
2092
|
+
336
|
2093
|
+
337
|
2094
|
+
338
|
2095
|
+
339</pre>
|
1674
2096
|
</td>
|
1675
2097
|
<td>
|
1676
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2098
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 330</span>
|
1677
2099
|
|
1678
2100
|
<span class='kw'>def</span> <span class='id identifier rubyid_allow_sideload'>allow_sideload</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
|
1679
2101
|
<span class='id identifier rubyid_sideload'>sideload</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="" title="JsonapiCompliable::Sideload (class)">Sideload</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="JsonapiCompliable::Sideload#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
@@ -1804,12 +2226,12 @@ in your resource directly.</p>
|
|
1804
2226
|
<pre class="lines">
|
1805
2227
|
|
1806
2228
|
|
1807
|
-
|
1808
|
-
|
1809
|
-
|
2229
|
+
183
|
2230
|
+
184
|
2231
|
+
185</pre>
|
1810
2232
|
</td>
|
1811
2233
|
<td>
|
1812
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2234
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 183</span>
|
1813
2235
|
|
1814
2236
|
<span class='kw'>def</span> <span class='id identifier rubyid_assign'>assign</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
|
1815
2237
|
<span class='ivar'>@assign_proc</span> <span class='op'>=</span> <span class='id identifier rubyid_blk'>blk</span>
|
@@ -1830,32 +2252,75 @@ in your resource directly.</p>
|
|
1830
2252
|
|
1831
2253
|
</h3><div class="docstring">
|
1832
2254
|
<div class="discussion">
|
1833
|
-
|
1834
|
-
<
|
2255
|
+
<p class="note private">
|
2256
|
+
<strong>This method is part of a private API.</strong>
|
2257
|
+
You should avoid using this method if possible, as it may be removed or be changed in the future.
|
2258
|
+
</p>
|
2259
|
+
|
2260
|
+
<p>Configure how to associate parent and child records. Delegates to #resource</p>
|
1835
2261
|
|
1836
2262
|
|
1837
2263
|
</div>
|
1838
2264
|
</div>
|
1839
2265
|
<div class="tags">
|
1840
2266
|
|
1841
|
-
|
1842
|
-
|
2267
|
+
|
2268
|
+
<p class="tag_title">See Also:</p>
|
2269
|
+
<ul class="see">
|
1843
2270
|
|
1844
|
-
|
1845
|
-
<p class="example_title"><div class='inline'>
|
1846
|
-
<p>Basic attr_accessor</p>
|
1847
|
-
</div></p>
|
1848
|
-
|
1849
|
-
<pre class="example code"><code><span class='kw'>def</span> <span class='id identifier rubyid_associate'>associate</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='id identifier rubyid_child'>child</span><span class='rparen'>)</span>
|
1850
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:has_many</span>
|
1851
|
-
<span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_child'>child</span><span class='rparen'>)</span>
|
1852
|
-
<span class='kw'>else</span>
|
1853
|
-
<span class='id identifier rubyid_child'>child</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_parent'>parent</span><span class='rparen'>)</span>
|
1854
|
-
<span class='kw'>end</span>
|
1855
|
-
<span class='kw'>end</span></code></pre>
|
2271
|
+
<li><span class='object_link'><a href="#name-instance_method" title="JsonapiCompliable::Sideload#name (method)">#name</a></span></li>
|
1856
2272
|
|
1857
|
-
|
2273
|
+
<li><span class='object_link'><a href="#type-instance_method" title="JsonapiCompliable::Sideload#type (method)">#type</a></span></li>
|
2274
|
+
|
2275
|
+
</ul>
|
2276
|
+
|
2277
|
+
</div><table class="source_code">
|
2278
|
+
<tr>
|
2279
|
+
<td>
|
2280
|
+
<pre class="lines">
|
2281
|
+
|
2282
|
+
|
2283
|
+
193
|
2284
|
+
194
|
2285
|
+
195
|
2286
|
+
196</pre>
|
2287
|
+
</td>
|
2288
|
+
<td>
|
2289
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 193</span>
|
2290
|
+
|
2291
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_associate'>associate</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='id identifier rubyid_child'>child</span><span class='rparen'>)</span>
|
2292
|
+
<span class='id identifier rubyid_association_name'>association_name</span> <span class='op'>=</span> <span class='ivar'>@parent</span> <span class='op'>?</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='op'>:</span> <span class='id identifier rubyid_name'>name</span>
|
2293
|
+
<span class='id identifier rubyid_resource'>resource</span><span class='period'>.</span><span class='id identifier rubyid_associate'>associate</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='id identifier rubyid_child'>child</span><span class='comma'>,</span> <span class='id identifier rubyid_association_name'>association_name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
2294
|
+
<span class='kw'>end</span></pre>
|
2295
|
+
</td>
|
2296
|
+
</tr>
|
2297
|
+
</table>
|
2298
|
+
</div>
|
2299
|
+
|
2300
|
+
<div class="method_details ">
|
2301
|
+
<h3 class="signature " id="disassociate-instance_method">
|
2302
|
+
|
2303
|
+
#<strong>disassociate</strong>(parent, child) ⇒ <tt>Object</tt>
|
2304
|
+
|
1858
2305
|
|
2306
|
+
|
2307
|
+
|
2308
|
+
|
2309
|
+
</h3><div class="docstring">
|
2310
|
+
<div class="discussion">
|
2311
|
+
<p class="note private">
|
2312
|
+
<strong>This method is part of a private API.</strong>
|
2313
|
+
You should avoid using this method if possible, as it may be removed or be changed in the future.
|
2314
|
+
</p>
|
2315
|
+
|
2316
|
+
<p>Configure how to disassociate parent and child records. Delegates to
|
2317
|
+
#resource</p>
|
2318
|
+
|
2319
|
+
|
2320
|
+
</div>
|
2321
|
+
</div>
|
2322
|
+
<div class="tags">
|
2323
|
+
|
1859
2324
|
|
1860
2325
|
<p class="tag_title">See Also:</p>
|
1861
2326
|
<ul class="see">
|
@@ -1872,23 +2337,57 @@ in your resource directly.</p>
|
|
1872
2337
|
<pre class="lines">
|
1873
2338
|
|
1874
2339
|
|
1875
|
-
|
1876
|
-
|
1877
|
-
|
1878
|
-
|
1879
|
-
189
|
1880
|
-
190
|
1881
|
-
191</pre>
|
2340
|
+
204
|
2341
|
+
205
|
2342
|
+
206
|
2343
|
+
207</pre>
|
1882
2344
|
</td>
|
1883
2345
|
<td>
|
1884
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2346
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 204</span>
|
1885
2347
|
|
1886
|
-
<span class='kw'>def</span> <span class='id identifier
|
2348
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_disassociate'>disassociate</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='id identifier rubyid_child'>child</span><span class='rparen'>)</span>
|
1887
2349
|
<span class='id identifier rubyid_association_name'>association_name</span> <span class='op'>=</span> <span class='ivar'>@parent</span> <span class='op'>?</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='op'>:</span> <span class='id identifier rubyid_name'>name</span>
|
1888
|
-
<span class='id identifier
|
1889
|
-
|
1890
|
-
|
1891
|
-
|
2350
|
+
<span class='id identifier rubyid_resource'>resource</span><span class='period'>.</span><span class='id identifier rubyid_disassociate'>disassociate</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='id identifier rubyid_child'>child</span><span class='comma'>,</span> <span class='id identifier rubyid_association_name'>association_name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
2351
|
+
<span class='kw'>end</span></pre>
|
2352
|
+
</td>
|
2353
|
+
</tr>
|
2354
|
+
</table>
|
2355
|
+
</div>
|
2356
|
+
|
2357
|
+
<div class="method_details ">
|
2358
|
+
<h3 class="signature " id="fire_hooks!-instance_method">
|
2359
|
+
|
2360
|
+
#<strong>fire_hooks!</strong>(parent, objects, method) ⇒ <tt>Object</tt>
|
2361
|
+
|
2362
|
+
|
2363
|
+
|
2364
|
+
|
2365
|
+
|
2366
|
+
</h3><table class="source_code">
|
2367
|
+
<tr>
|
2368
|
+
<td>
|
2369
|
+
<pre class="lines">
|
2370
|
+
|
2371
|
+
|
2372
|
+
408
|
2373
|
+
409
|
2374
|
+
410
|
2375
|
+
411
|
2376
|
+
412
|
2377
|
+
413
|
2378
|
+
414
|
2379
|
+
415</pre>
|
2380
|
+
</td>
|
2381
|
+
<td>
|
2382
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 408</span>
|
2383
|
+
|
2384
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_fire_hooks!'>fire_hooks!</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='id identifier rubyid_objects'>objects</span><span class='comma'>,</span> <span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
|
2385
|
+
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_hooks'>hooks</span>
|
2386
|
+
|
2387
|
+
<span class='id identifier rubyid_hooks'>hooks</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_hooks'>hooks</span><span class='lbracket'>[</span><span class='symbol'>:after_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_method'>method</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_hooks'>hooks</span><span class='lbracket'>[</span><span class='symbol'>:after_save</span><span class='rbracket'>]</span>
|
2388
|
+
<span class='id identifier rubyid_hooks'>hooks</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hook'>hook</span><span class='op'>|</span>
|
2389
|
+
<span class='id identifier rubyid_resource'>resource</span><span class='period'>.</span><span class='id identifier rubyid_instance_exec'>instance_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='id identifier rubyid_objects'>objects</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_hook'>hook</span><span class='rparen'>)</span>
|
2390
|
+
<span class='kw'>end</span>
|
1892
2391
|
<span class='kw'>end</span></pre>
|
1893
2392
|
</td>
|
1894
2393
|
</tr>
|
@@ -1937,12 +2436,12 @@ and <code>parent_type</code>. We would want to group on
|
|
1937
2436
|
<pre class="lines">
|
1938
2437
|
|
1939
2438
|
|
1940
|
-
|
1941
|
-
|
1942
|
-
|
2439
|
+
263
|
2440
|
+
264
|
2441
|
+
265</pre>
|
1943
2442
|
</td>
|
1944
2443
|
<td>
|
1945
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2444
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 263</span>
|
1946
2445
|
|
1947
2446
|
<span class='kw'>def</span> <span class='id identifier rubyid_group_by'>group_by</span><span class='lparen'>(</span><span class='id identifier rubyid_grouping_field'>grouping_field</span><span class='rparen'>)</span>
|
1948
2447
|
<span class='ivar'>@grouping_field</span> <span class='op'>=</span> <span class='id identifier rubyid_grouping_field'>grouping_field</span>
|
@@ -1950,6 +2449,82 @@ and <code>parent_type</code>. We would want to group on
|
|
1950
2449
|
</td>
|
1951
2450
|
</tr>
|
1952
2451
|
</table>
|
2452
|
+
</div>
|
2453
|
+
|
2454
|
+
<div class="method_details ">
|
2455
|
+
<h3 class="signature " id="hooks-instance_method">
|
2456
|
+
|
2457
|
+
#<strong>hooks</strong> ⇒ <tt>Object</tt>
|
2458
|
+
|
2459
|
+
|
2460
|
+
|
2461
|
+
|
2462
|
+
|
2463
|
+
</h3><div class="docstring">
|
2464
|
+
<div class="discussion">
|
2465
|
+
|
2466
|
+
<p>Get the hooks the user has configured</p>
|
2467
|
+
|
2468
|
+
|
2469
|
+
</div>
|
2470
|
+
</div>
|
2471
|
+
<div class="tags">
|
2472
|
+
|
2473
|
+
<p class="tag_title">Returns:</p>
|
2474
|
+
<ul class="return">
|
2475
|
+
|
2476
|
+
<li>
|
2477
|
+
|
2478
|
+
|
2479
|
+
<span class='type'></span>
|
2480
|
+
|
2481
|
+
|
2482
|
+
|
2483
|
+
|
2484
|
+
<div class='inline'>
|
2485
|
+
<p>hash of hooks, ie <tt>{ after_create: #<Proc>}</tt></p>
|
2486
|
+
</div>
|
2487
|
+
|
2488
|
+
</li>
|
2489
|
+
|
2490
|
+
</ul>
|
2491
|
+
|
2492
|
+
<p class="tag_title">See Also:</p>
|
2493
|
+
<ul class="see">
|
2494
|
+
|
2495
|
+
<li><span class='object_link'><a href="#after_save-instance_method" title="JsonapiCompliable::Sideload#after_save (method)">#after_save</a></span></li>
|
2496
|
+
|
2497
|
+
</ul>
|
2498
|
+
|
2499
|
+
</div><table class="source_code">
|
2500
|
+
<tr>
|
2501
|
+
<td>
|
2502
|
+
<pre class="lines">
|
2503
|
+
|
2504
|
+
|
2505
|
+
244
|
2506
|
+
245
|
2507
|
+
246
|
2508
|
+
247
|
2509
|
+
248
|
2510
|
+
249
|
2511
|
+
250
|
2512
|
+
251</pre>
|
2513
|
+
</td>
|
2514
|
+
<td>
|
2515
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 244</span>
|
2516
|
+
|
2517
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_hooks'>hooks</span>
|
2518
|
+
<span class='ivar'>@hooks</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_h'>h</span><span class='op'>|</span>
|
2519
|
+
<span class='const'><span class='object_link'><a href="#HOOK_ACTIONS-constant" title="JsonapiCompliable::Sideload::HOOK_ACTIONS (constant)">HOOK_ACTIONS</a></span></span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='op'>|</span>
|
2520
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:after_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_a'>a</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
2521
|
+
<span class='id identifier rubyid_h'>h</span><span class='lbracket'>[</span><span class='symbol'>:before_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_a'>a</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
2522
|
+
<span class='kw'>end</span>
|
2523
|
+
<span class='kw'>end</span>
|
2524
|
+
<span class='kw'>end</span></pre>
|
2525
|
+
</td>
|
2526
|
+
</tr>
|
2527
|
+
</table>
|
1953
2528
|
</div>
|
1954
2529
|
|
1955
2530
|
<div class="method_details ">
|
@@ -2039,12 +2614,12 @@ ActiveRecord:</p>
|
|
2039
2614
|
<pre class="lines">
|
2040
2615
|
|
2041
2616
|
|
2042
|
-
|
2043
|
-
|
2044
|
-
|
2617
|
+
106
|
2618
|
+
107
|
2619
|
+
108</pre>
|
2045
2620
|
</td>
|
2046
2621
|
<td>
|
2047
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2622
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 106</span>
|
2048
2623
|
|
2049
2624
|
<span class='kw'>def</span> <span class='id identifier rubyid_polymorphic?'>polymorphic?</span>
|
2050
2625
|
<span class='ivar'>@polymorphic</span> <span class='op'>==</span> <span class='kw'>true</span>
|
@@ -2082,18 +2657,18 @@ ActiveRecord:</p>
|
|
2082
2657
|
<pre class="lines">
|
2083
2658
|
|
2084
2659
|
|
2085
|
-
|
2086
|
-
|
2087
|
-
|
2088
|
-
|
2089
|
-
|
2660
|
+
402
|
2661
|
+
403
|
2662
|
+
404
|
2663
|
+
405
|
2664
|
+
406</pre>
|
2090
2665
|
</td>
|
2091
2666
|
<td>
|
2092
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2667
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 402</span>
|
2093
2668
|
|
2094
2669
|
<span class='kw'>def</span> <span class='id identifier rubyid_polymorphic_child_for_type'>polymorphic_child_for_type</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
2095
2670
|
<span class='id identifier rubyid_polymorphic_groups'>polymorphic_groups</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
|
2096
|
-
<span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_resource_class'>resource_class</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_type'>type</span>
|
2671
|
+
<span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_resource_class'>resource_class</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
2097
2672
|
<span class='kw'>end</span>
|
2098
2673
|
<span class='kw'>end</span></pre>
|
2099
2674
|
</td>
|
@@ -2205,18 +2780,18 @@ ActiveRecord:</p>
|
|
2205
2780
|
<pre class="lines">
|
2206
2781
|
|
2207
2782
|
|
2208
|
-
|
2209
|
-
|
2210
|
-
|
2211
|
-
|
2212
|
-
|
2213
|
-
|
2214
|
-
|
2215
|
-
|
2216
|
-
|
2783
|
+
282
|
2784
|
+
283
|
2785
|
+
284
|
2786
|
+
285
|
2787
|
+
286
|
2788
|
+
287
|
2789
|
+
288
|
2790
|
+
289
|
2791
|
+
290</pre>
|
2217
2792
|
</td>
|
2218
2793
|
<td>
|
2219
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2794
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 282</span>
|
2220
2795
|
|
2221
2796
|
<span class='kw'>def</span> <span class='id identifier rubyid_resolve'>resolve</span><span class='lparen'>(</span><span class='id identifier rubyid_parents'>parents</span><span class='comma'>,</span> <span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='id identifier rubyid_namespace'>namespace</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
2222
2797
|
<span class='id identifier rubyid_namespace'>namespace</span> <span class='op'>||=</span> <span class='id identifier rubyid_name'>name</span>
|
@@ -2283,12 +2858,12 @@ ActiveRecord:</p>
|
|
2283
2858
|
<pre class="lines">
|
2284
2859
|
|
2285
2860
|
|
2286
|
-
|
2287
|
-
|
2288
|
-
|
2861
|
+
63
|
2862
|
+
64
|
2863
|
+
65</pre>
|
2289
2864
|
</td>
|
2290
2865
|
<td>
|
2291
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2866
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 63</span>
|
2292
2867
|
|
2293
2868
|
<span class='kw'>def</span> <span class='id identifier rubyid_resource'>resource</span>
|
2294
2869
|
<span class='ivar'>@resource</span> <span class='op'>||=</span> <span class='id identifier rubyid_resource_class'>resource_class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
@@ -2403,12 +2978,12 @@ in your resource directly.</p>
|
|
2403
2978
|
<pre class="lines">
|
2404
2979
|
|
2405
2980
|
|
2406
|
-
|
2407
|
-
|
2408
|
-
|
2981
|
+
146
|
2982
|
+
147
|
2983
|
+
148</pre>
|
2409
2984
|
</td>
|
2410
2985
|
<td>
|
2411
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2986
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 146</span>
|
2412
2987
|
|
2413
2988
|
<span class='kw'>def</span> <span class='id identifier rubyid_scope'>scope</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
|
2414
2989
|
<span class='ivar'>@scope_proc</span> <span class='op'>=</span> <span class='id identifier rubyid_blk'>blk</span>
|
@@ -2489,12 +3064,12 @@ in your resource directly.</p>
|
|
2489
3064
|
<pre class="lines">
|
2490
3065
|
|
2491
3066
|
|
2492
|
-
|
2493
|
-
|
2494
|
-
|
3067
|
+
345
|
3068
|
+
346
|
3069
|
+
347</pre>
|
2495
3070
|
</td>
|
2496
3071
|
<td>
|
2497
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
3072
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 345</span>
|
2498
3073
|
|
2499
3074
|
<span class='kw'>def</span> <span class='id identifier rubyid_sideload'>sideload</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
2500
3075
|
<span class='ivar'>@sideloads</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span>
|
@@ -2507,7 +3082,7 @@ in your resource directly.</p>
|
|
2507
3082
|
<div class="method_details ">
|
2508
3083
|
<h3 class="signature " id="to_hash-instance_method">
|
2509
3084
|
|
2510
|
-
#<strong>to_hash</strong>(
|
3085
|
+
#<strong>to_hash</strong>(depth_chain = [], parent = nil) ⇒ <tt>Hash</tt>
|
2511
3086
|
|
2512
3087
|
|
2513
3088
|
|
@@ -2573,47 +3148,39 @@ corresponding Resources, and returns an Include Directive hash</p>
|
|
2573
3148
|
<pre class="lines">
|
2574
3149
|
|
2575
3150
|
|
2576
|
-
|
2577
|
-
|
2578
|
-
|
2579
|
-
|
2580
|
-
|
2581
|
-
|
2582
|
-
|
2583
|
-
|
2584
|
-
|
2585
|
-
|
2586
|
-
|
2587
|
-
|
2588
|
-
|
2589
|
-
|
2590
|
-
|
2591
|
-
327
|
2592
|
-
328
|
2593
|
-
329
|
2594
|
-
330</pre>
|
3151
|
+
385
|
3152
|
+
386
|
3153
|
+
387
|
3154
|
+
388
|
3155
|
+
389
|
3156
|
+
390
|
3157
|
+
391
|
3158
|
+
392
|
3159
|
+
393
|
3160
|
+
394
|
3161
|
+
395
|
3162
|
+
396
|
3163
|
+
397
|
3164
|
+
398
|
3165
|
+
399</pre>
|
2595
3166
|
</td>
|
2596
3167
|
<td>
|
2597
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
2598
|
-
|
2599
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_to_hash'>to_hash</span><span class='lparen'>(</span><span class='id identifier
|
2600
|
-
<span class='
|
2601
|
-
<span class='id identifier
|
2602
|
-
|
2603
|
-
<span class='
|
2604
|
-
<span class='
|
2605
|
-
|
2606
|
-
|
2607
|
-
|
2608
|
-
|
2609
|
-
|
2610
|
-
|
2611
|
-
<span class='kw'>else</span>
|
2612
|
-
<span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_nested_sideload_hash'>nested_sideload_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_sideload'>sideload</span><span class='comma'>,</span> <span class='id identifier rubyid_processed'>processed</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2613
|
-
<span class='kw'>end</span>
|
3168
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 385</span>
|
3169
|
+
|
3170
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_to_hash'>to_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_depth_chain'>depth_chain</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_parent'>parent</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
3171
|
+
<span class='id identifier rubyid_depth'>depth</span> <span class='op'>=</span> <span class='id identifier rubyid_depth_chain'>depth_chain</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_arr'>arr</span><span class='op'>|</span> <span class='id identifier rubyid_arr'>arr</span> <span class='op'>==</span> <span class='lbracket'>[</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rbracket'>]</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
|
3172
|
+
<span class='kw'>return</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_depth'>depth</span> <span class='op'>>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_max_depth'>max_depth</span>
|
3173
|
+
|
3174
|
+
<span class='kw'>unless</span> <span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span> <span class='op'>&&</span> <span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='op'>==</span> <span class='symbol'>:base</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>==</span> <span class='symbol'>:base</span>
|
3175
|
+
<span class='id identifier rubyid_depth_chain'>depth_chain</span> <span class='op'>+=</span> <span class='lbracket'>[</span><span class='lbracket'>[</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rbracket'>]</span><span class='rbracket'>]</span>
|
3176
|
+
<span class='kw'>end</span>
|
3177
|
+
|
3178
|
+
<span class='lbrace'>{</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>=></span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span>
|
3179
|
+
<span class='id identifier rubyid_all_sideloads'>all_sideloads</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_sl'>sl</span><span class='op'>|</span>
|
3180
|
+
<span class='id identifier rubyid_sideload_hash'>sideload_hash</span> <span class='op'>=</span> <span class='id identifier rubyid_sl'>sl</span><span class='period'>.</span><span class='id identifier rubyid_to_hash'>to_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_depth_chain'>depth_chain</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
|
3181
|
+
<span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_sideload_hash'>sideload_hash</span><span class='rparen'>)</span>
|
2614
3182
|
<span class='kw'>end</span>
|
2615
3183
|
<span class='kw'>end</span>
|
2616
|
-
<span class='id identifier rubyid_result'>result</span>
|
2617
3184
|
<span class='kw'>end</span></pre>
|
2618
3185
|
</td>
|
2619
3186
|
</tr>
|
@@ -2625,7 +3192,7 @@ corresponding Resources, and returns an Include Directive hash</p>
|
|
2625
3192
|
</div>
|
2626
3193
|
|
2627
3194
|
<div id="footer">
|
2628
|
-
Generated on
|
3195
|
+
Generated on Thu Sep 28 17:28:11 2017 by
|
2629
3196
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2630
3197
|
0.9.9 (ruby-2.3.0).
|
2631
3198
|
</div>
|