jsonapi_compliable 0.9.2 → 0.10.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/docs/Jsonapi/ResourceGenerator.html +1 -1
  3. data/docs/Jsonapi.html +1 -1
  4. data/docs/JsonapiCompliable/Adapters/Abstract.html +1 -1
  5. data/docs/JsonapiCompliable/Adapters/ActiveRecord.html +1 -1
  6. data/docs/JsonapiCompliable/Adapters/ActiveRecordSideloading.html +1 -1
  7. data/docs/JsonapiCompliable/Adapters/Null.html +1 -1
  8. data/docs/JsonapiCompliable/Adapters.html +1 -1
  9. data/docs/JsonapiCompliable/Base.html +389 -62
  10. data/docs/JsonapiCompliable/Deserializer.html +1 -1
  11. data/docs/JsonapiCompliable/Errors/BadFilter.html +1 -1
  12. data/docs/JsonapiCompliable/Errors/StatNotFound.html +1 -1
  13. data/docs/JsonapiCompliable/Errors/UnsupportedPageSize.html +1 -1
  14. data/docs/JsonapiCompliable/Errors/ValidationError.html +1 -1
  15. data/docs/JsonapiCompliable/Errors.html +1 -1
  16. data/docs/JsonapiCompliable/Extensions/BooleanAttribute/ClassMethods.html +1 -1
  17. data/docs/JsonapiCompliable/Extensions/BooleanAttribute.html +1 -1
  18. data/docs/JsonapiCompliable/Extensions/ExtraAttribute/ClassMethods.html +1 -1
  19. data/docs/JsonapiCompliable/Extensions/ExtraAttribute.html +1 -1
  20. data/docs/JsonapiCompliable/Extensions.html +1 -1
  21. data/docs/JsonapiCompliable/Query.html +27 -21
  22. data/docs/JsonapiCompliable/Rails.html +1 -1
  23. data/docs/JsonapiCompliable/Resource.html +189 -572
  24. data/docs/JsonapiCompliable/Scope.html +1 -1
  25. data/docs/JsonapiCompliable/Scoping/Base.html +1 -1
  26. data/docs/JsonapiCompliable/Scoping/DefaultFilter.html +1 -1
  27. data/docs/JsonapiCompliable/Scoping/ExtraFields.html +1 -1
  28. data/docs/JsonapiCompliable/Scoping/Filter.html +1 -1
  29. data/docs/JsonapiCompliable/Scoping/Filterable.html +1 -1
  30. data/docs/JsonapiCompliable/Scoping/Paginate.html +1 -1
  31. data/docs/JsonapiCompliable/Scoping/Sort.html +1 -1
  32. data/docs/JsonapiCompliable/Scoping.html +1 -1
  33. data/docs/JsonapiCompliable/SerializableTempId.html +1 -1
  34. data/docs/JsonapiCompliable/Sideload.html +164 -384
  35. data/docs/JsonapiCompliable/Stats/DSL.html +1 -1
  36. data/docs/JsonapiCompliable/Stats/Payload.html +1 -1
  37. data/docs/JsonapiCompliable/Stats.html +1 -1
  38. data/docs/JsonapiCompliable/Util/FieldParams.html +1 -1
  39. data/docs/JsonapiCompliable/Util/Hash.html +1 -1
  40. data/docs/JsonapiCompliable/Util/IncludeParams.html +1 -1
  41. data/docs/JsonapiCompliable/Util/Persistence.html +1 -1
  42. data/docs/JsonapiCompliable/Util/RelationshipPayload.html +1 -1
  43. data/docs/JsonapiCompliable/Util/RenderOptions.html +1 -1
  44. data/docs/JsonapiCompliable/Util/ValidationResponse.html +1 -1
  45. data/docs/JsonapiCompliable/Util.html +1 -1
  46. data/docs/JsonapiCompliable.html +2 -2
  47. data/docs/_index.html +1 -1
  48. data/docs/file.README.html +1 -1
  49. data/docs/index.html +1 -1
  50. data/docs/method_list.html +191 -215
  51. data/docs/top-level-namespace.html +1 -1
  52. data/lib/jsonapi_compliable/base.rb +43 -1
  53. data/lib/jsonapi_compliable/query.rb +8 -5
  54. data/lib/jsonapi_compliable/resource.rb +2 -90
  55. data/lib/jsonapi_compliable/scope.rb +2 -4
  56. data/lib/jsonapi_compliable/sideload.rb +7 -59
  57. data/lib/jsonapi_compliable/version.rb +1 -1
  58. metadata +2 -2
@@ -473,7 +473,7 @@ key.</p>
473
473
 
474
474
 
475
475
  <h2>
476
- Class Method Summary
476
+ Instance Method Summary
477
477
  <small><a href="#" class="summary_toggle">collapse</a></small>
478
478
  </h2>
479
479
 
@@ -482,29 +482,7 @@ key.</p>
482
482
  <li class="public ">
483
483
  <span class="summary_signature">
484
484
 
485
- <a href="#max_recursion-class_method" title="max_recursion (class method)">.<strong>max_recursion</strong> &#x21d2; 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_recursion=-class_method" title="max_recursion= (class method)">.<strong>max_recursion=</strong>(val) &#x21d2; Object </a>
485
+ <a href="#after_save-instance_method" title="#after_save (instance method)">#<strong>after_save</strong>(only: [], except: [], &amp;blk) &#x21d2; Object </a>
508
486
 
509
487
 
510
488
 
@@ -519,27 +497,16 @@ key.</p>
519
497
 
520
498
 
521
499
  <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>
500
+ <p>Configure post-processing hooks.</p>
525
501
  </div></span>
526
502
 
527
503
  </li>
528
504
 
529
505
 
530
- </ul>
531
-
532
- <h2>
533
- Instance Method Summary
534
- <small><a href="#" class="summary_toggle">collapse</a></small>
535
- </h2>
536
-
537
- <ul class="summary">
538
-
539
506
  <li class="public ">
540
507
  <span class="summary_signature">
541
508
 
542
- <a href="#after_save-instance_method" title="#after_save (instance method)">#<strong>after_save</strong>(only: [], except: [], &amp;blk) &#x21d2; Object </a>
509
+ <a href="#all_sideloads-instance_method" title="#all_sideloads (instance method)">#<strong>all_sideloads</strong> &#x21d2; Object </a>
543
510
 
544
511
 
545
512
 
@@ -550,12 +517,10 @@ etc.</p>
550
517
 
551
518
 
552
519
 
553
-
520
+ <span class="private note title">private</span>
554
521
 
555
522
 
556
- <span class="summary_desc"><div class='inline'>
557
- <p>Configure post-processing hooks.</p>
558
- </div></span>
523
+ <span class="summary_desc"><div class='inline'></div></span>
559
524
 
560
525
  </li>
561
526
 
@@ -563,7 +528,7 @@ etc.</p>
563
528
  <li class="public ">
564
529
  <span class="summary_signature">
565
530
 
566
- <a href="#all_sideloads-instance_method" title="#all_sideloads (instance method)">#<strong>all_sideloads</strong> &#x21d2; Object </a>
531
+ <a href="#allow_sideload-instance_method" title="#allow_sideload (instance method)">#<strong>allow_sideload</strong>(name, opts = {}, &amp;blk) &#x21d2; Object </a>
567
532
 
568
533
 
569
534
 
@@ -574,10 +539,12 @@ etc.</p>
574
539
 
575
540
 
576
541
 
577
- <span class="private note title">private</span>
542
+
578
543
 
579
544
 
580
- <span class="summary_desc"><div class='inline'></div></span>
545
+ <span class="summary_desc"><div class='inline'>
546
+ <p>Configure a relationship between Resource objects.</p>
547
+ </div></span>
581
548
 
582
549
  </li>
583
550
 
@@ -585,7 +552,7 @@ etc.</p>
585
552
  <li class="public ">
586
553
  <span class="summary_signature">
587
554
 
588
- <a href="#allow_sideload-instance_method" title="#allow_sideload (instance method)">#<strong>allow_sideload</strong>(name, opts = {}, &amp;blk) &#x21d2; Object </a>
555
+ <a href="#assign-instance_method" title="#assign (instance method)">#<strong>assign</strong> {|parents, children| ... } &#x21d2; Object </a>
589
556
 
590
557
 
591
558
 
@@ -600,7 +567,7 @@ etc.</p>
600
567
 
601
568
 
602
569
  <span class="summary_desc"><div class='inline'>
603
- <p>Configure a relationship between Resource objects.</p>
570
+ <p>The proc used to assign the resolved parents and children.</p>
604
571
  </div></span>
605
572
 
606
573
  </li>
@@ -609,7 +576,7 @@ etc.</p>
609
576
  <li class="public ">
610
577
  <span class="summary_signature">
611
578
 
612
- <a href="#assign-instance_method" title="#assign (instance method)">#<strong>assign</strong> {|parents, children| ... } &#x21d2; Object </a>
579
+ <a href="#associate-instance_method" title="#associate (instance method)">#<strong>associate</strong>(parent, child) &#x21d2; Object </a>
613
580
 
614
581
 
615
582
 
@@ -620,11 +587,11 @@ etc.</p>
620
587
 
621
588
 
622
589
 
623
-
590
+ <span class="private note title">private</span>
624
591
 
625
592
 
626
593
  <span class="summary_desc"><div class='inline'>
627
- <p>The proc used to assign the resolved parents and children.</p>
594
+ <p>Configure how to associate parent and child records.</p>
628
595
  </div></span>
629
596
 
630
597
  </li>
@@ -633,7 +600,7 @@ etc.</p>
633
600
  <li class="public ">
634
601
  <span class="summary_signature">
635
602
 
636
- <a href="#associate-instance_method" title="#associate (instance method)">#<strong>associate</strong>(parent, child) &#x21d2; Object </a>
603
+ <a href="#association_names-instance_method" title="#association_names (instance method)">#<strong>association_names</strong>(memo = []) &#x21d2; Object </a>
637
604
 
638
605
 
639
606
 
@@ -644,12 +611,10 @@ etc.</p>
644
611
 
645
612
 
646
613
 
647
- <span class="private note title">private</span>
614
+
648
615
 
649
616
 
650
- <span class="summary_desc"><div class='inline'>
651
- <p>Configure how to associate parent and child records.</p>
652
- </div></span>
617
+ <span class="summary_desc"><div class='inline'></div></span>
653
618
 
654
619
  </li>
655
620
 
@@ -915,31 +880,6 @@ will be further chained with filtering/sorting/etc.</p>
915
880
  <p>Fetch a Sideload object by its name.</p>
916
881
  </div></span>
917
882
 
918
- </li>
919
-
920
-
921
- <li class="public ">
922
- <span class="summary_signature">
923
-
924
- <a href="#to_hash-instance_method" title="#to_hash (instance method)">#<strong>to_hash</strong>(recursion_chain = [], parent = nil) &#x21d2; Hash </a>
925
-
926
-
927
-
928
- </span>
929
-
930
-
931
-
932
-
933
-
934
-
935
- <span class="private note title">private</span>
936
-
937
-
938
- <span class="summary_desc"><div class='inline'>
939
- <p>Looks at all nested sideload, and all nested sideloads for the
940
- corresponding Resources, and returns an Include Directive hash.</p>
941
- </div></span>
942
-
943
883
  </li>
944
884
 
945
885
 
@@ -1744,100 +1684,6 @@ key.</p>
1744
1684
  </div>
1745
1685
 
1746
1686
 
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_recursion-class_method">
1753
-
1754
- .<strong>max_recursion</strong> &#x21d2; <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_recursion'>max_recursion</span>
1787
- <span class='ivar'>@max_recursion</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_recursion=-class_method">
1796
-
1797
- .<strong>max_recursion=</strong>(val) &#x21d2; <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 recursion 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_recursion='>max_recursion=</span><span class='lparen'>(</span><span class='id identifier rubyid_val'>val</span><span class='rparen'>)</span>
1832
- <span class='ivar'>@max_recursion</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
-
1841
1687
  <div id="instance_method_details" class="method_details_list">
1842
1688
  <h2>Instance Method Details</h2>
1843
1689
 
@@ -1903,17 +1749,17 @@ keyword arguments to fire only for a specific persistence method.</p>
1903
1749
  <pre class="lines">
1904
1750
 
1905
1751
 
1906
- 232
1907
- 233
1908
- 234
1909
- 235
1910
- 236
1911
- 237
1912
- 238
1913
- 239</pre>
1752
+ 217
1753
+ 218
1754
+ 219
1755
+ 220
1756
+ 221
1757
+ 222
1758
+ 223
1759
+ 224</pre>
1914
1760
  </td>
1915
1761
  <td>
1916
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 232</span>
1762
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 217</span>
1917
1763
 
1918
1764
  <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'>&amp;</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
1919
1765
  <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>
@@ -1956,20 +1802,20 @@ keyword arguments to fire only for a specific persistence method.</p>
1956
1802
  <pre class="lines">
1957
1803
 
1958
1804
 
1959
- 350
1960
- 351
1961
- 352
1962
- 353
1963
- 354
1964
- 355
1965
- 356
1966
- 357
1967
- 358
1968
- 359
1969
- 360</pre>
1805
+ 335
1806
+ 336
1807
+ 337
1808
+ 338
1809
+ 339
1810
+ 340
1811
+ 341
1812
+ 342
1813
+ 343
1814
+ 344
1815
+ 345</pre>
1970
1816
  </td>
1971
1817
  <td>
1972
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 350</span>
1818
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 335</span>
1973
1819
 
1974
1820
  <span class='kw'>def</span> <span class='id identifier rubyid_all_sideloads'>all_sideloads</span>
1975
1821
  <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>
@@ -2083,19 +1929,19 @@ directly</p>
2083
1929
  <pre class="lines">
2084
1930
 
2085
1931
 
2086
- 330
2087
- 331
2088
- 332
2089
- 333
2090
- 334
2091
- 335
2092
- 336
2093
- 337
2094
- 338
2095
- 339</pre>
1932
+ 315
1933
+ 316
1934
+ 317
1935
+ 318
1936
+ 319
1937
+ 320
1938
+ 321
1939
+ 322
1940
+ 323
1941
+ 324</pre>
2096
1942
  </td>
2097
1943
  <td>
2098
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 330</span>
1944
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 315</span>
2099
1945
 
2100
1946
  <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'>&amp;</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
2101
1947
  <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>
@@ -2226,12 +2072,12 @@ in your resource directly.</p>
2226
2072
  <pre class="lines">
2227
2073
 
2228
2074
 
2229
- 183
2230
- 184
2231
- 185</pre>
2075
+ 168
2076
+ 169
2077
+ 170</pre>
2232
2078
  </td>
2233
2079
  <td>
2234
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 183</span>
2080
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 168</span>
2235
2081
 
2236
2082
  <span class='kw'>def</span> <span class='id identifier rubyid_assign'>assign</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
2237
2083
  <span class='ivar'>@assign_proc</span> <span class='op'>=</span> <span class='id identifier rubyid_blk'>blk</span>
@@ -2280,13 +2126,13 @@ in your resource directly.</p>
2280
2126
  <pre class="lines">
2281
2127
 
2282
2128
 
2283
- 193
2284
- 194
2285
- 195
2286
- 196</pre>
2129
+ 178
2130
+ 179
2131
+ 180
2132
+ 181</pre>
2287
2133
  </td>
2288
2134
  <td>
2289
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 193</span>
2135
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 178</span>
2290
2136
 
2291
2137
  <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
2138
  <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>
@@ -2295,6 +2141,50 @@ in your resource directly.</p>
2295
2141
  </td>
2296
2142
  </tr>
2297
2143
  </table>
2144
+ </div>
2145
+
2146
+ <div class="method_details ">
2147
+ <h3 class="signature " id="association_names-instance_method">
2148
+
2149
+ #<strong>association_names</strong>(memo = []) &#x21d2; <tt>Object</tt>
2150
+
2151
+
2152
+
2153
+
2154
+
2155
+ </h3><table class="source_code">
2156
+ <tr>
2157
+ <td>
2158
+ <pre class="lines">
2159
+
2160
+
2161
+ 347
2162
+ 348
2163
+ 349
2164
+ 350
2165
+ 351
2166
+ 352
2167
+ 353
2168
+ 354
2169
+ 355
2170
+ 356</pre>
2171
+ </td>
2172
+ <td>
2173
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 347</span>
2174
+
2175
+ <span class='kw'>def</span> <span class='id identifier rubyid_association_names'>association_names</span><span class='lparen'>(</span><span class='id identifier rubyid_memo'>memo</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span>
2176
+ <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_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_sl'>sl</span><span class='op'>|</span>
2177
+ <span class='kw'>unless</span> <span class='id identifier rubyid_memo'>memo</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_sl'>sl</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
2178
+ <span class='id identifier rubyid_memo'>memo</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_sl'>sl</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span>
2179
+ <span class='id identifier rubyid_memo'>memo</span> <span class='op'>|=</span> <span class='id identifier rubyid_sl'>sl</span><span class='period'>.</span><span class='id identifier rubyid_association_names'>association_names</span><span class='lparen'>(</span><span class='id identifier rubyid_memo'>memo</span><span class='rparen'>)</span>
2180
+ <span class='kw'>end</span>
2181
+ <span class='kw'>end</span>
2182
+
2183
+ <span class='id identifier rubyid_memo'>memo</span>
2184
+ <span class='kw'>end</span></pre>
2185
+ </td>
2186
+ </tr>
2187
+ </table>
2298
2188
  </div>
2299
2189
 
2300
2190
  <div class="method_details ">
@@ -2337,13 +2227,13 @@ in your resource directly.</p>
2337
2227
  <pre class="lines">
2338
2228
 
2339
2229
 
2340
- 204
2341
- 205
2342
- 206
2343
- 207</pre>
2230
+ 189
2231
+ 190
2232
+ 191
2233
+ 192</pre>
2344
2234
  </td>
2345
2235
  <td>
2346
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 204</span>
2236
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 189</span>
2347
2237
 
2348
2238
  <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>
2349
2239
  <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>
@@ -2369,17 +2259,17 @@ in your resource directly.</p>
2369
2259
  <pre class="lines">
2370
2260
 
2371
2261
 
2372
- 409
2373
- 410
2374
- 411
2375
- 412
2376
- 413
2377
- 414
2378
- 415
2379
- 416</pre>
2262
+ 365
2263
+ 366
2264
+ 367
2265
+ 368
2266
+ 369
2267
+ 370
2268
+ 371
2269
+ 372</pre>
2380
2270
  </td>
2381
2271
  <td>
2382
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 409</span>
2272
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 365</span>
2383
2273
 
2384
2274
  <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
2275
  <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>
@@ -2436,12 +2326,12 @@ and <code>parent_type</code>. We would want to group on
2436
2326
  <pre class="lines">
2437
2327
 
2438
2328
 
2439
- 263
2440
- 264
2441
- 265</pre>
2329
+ 248
2330
+ 249
2331
+ 250</pre>
2442
2332
  </td>
2443
2333
  <td>
2444
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 263</span>
2334
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 248</span>
2445
2335
 
2446
2336
  <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>
2447
2337
  <span class='ivar'>@grouping_field</span> <span class='op'>=</span> <span class='id identifier rubyid_grouping_field'>grouping_field</span>
@@ -2502,17 +2392,17 @@ and <code>parent_type</code>. We would want to group on
2502
2392
  <pre class="lines">
2503
2393
 
2504
2394
 
2505
- 244
2506
- 245
2507
- 246
2508
- 247
2509
- 248
2510
- 249
2511
- 250
2512
- 251</pre>
2395
+ 229
2396
+ 230
2397
+ 231
2398
+ 232
2399
+ 233
2400
+ 234
2401
+ 235
2402
+ 236</pre>
2513
2403
  </td>
2514
2404
  <td>
2515
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 244</span>
2405
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 229</span>
2516
2406
 
2517
2407
  <span class='kw'>def</span> <span class='id identifier rubyid_hooks'>hooks</span>
2518
2408
  <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>
@@ -2614,12 +2504,12 @@ ActiveRecord:</p>
2614
2504
  <pre class="lines">
2615
2505
 
2616
2506
 
2617
- 106
2618
- 107
2619
- 108</pre>
2507
+ 91
2508
+ 92
2509
+ 93</pre>
2620
2510
  </td>
2621
2511
  <td>
2622
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 106</span>
2512
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 91</span>
2623
2513
 
2624
2514
  <span class='kw'>def</span> <span class='id identifier rubyid_polymorphic?'>polymorphic?</span>
2625
2515
  <span class='ivar'>@polymorphic</span> <span class='op'>==</span> <span class='kw'>true</span>
@@ -2657,14 +2547,14 @@ ActiveRecord:</p>
2657
2547
  <pre class="lines">
2658
2548
 
2659
2549
 
2660
- 403
2661
- 404
2662
- 405
2663
- 406
2664
- 407</pre>
2550
+ 359
2551
+ 360
2552
+ 361
2553
+ 362
2554
+ 363</pre>
2665
2555
  </td>
2666
2556
  <td>
2667
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 403</span>
2557
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 359</span>
2668
2558
 
2669
2559
  <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>
2670
2560
  <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>
@@ -2780,18 +2670,18 @@ ActiveRecord:</p>
2780
2670
  <pre class="lines">
2781
2671
 
2782
2672
 
2783
- 282
2784
- 283
2785
- 284
2786
- 285
2787
- 286
2788
- 287
2789
- 288
2790
- 289
2791
- 290</pre>
2673
+ 267
2674
+ 268
2675
+ 269
2676
+ 270
2677
+ 271
2678
+ 272
2679
+ 273
2680
+ 274
2681
+ 275</pre>
2792
2682
  </td>
2793
2683
  <td>
2794
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 282</span>
2684
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 267</span>
2795
2685
 
2796
2686
  <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>
2797
2687
  <span class='id identifier rubyid_namespace'>namespace</span> <span class='op'>||=</span> <span class='id identifier rubyid_name'>name</span>
@@ -2858,12 +2748,12 @@ ActiveRecord:</p>
2858
2748
  <pre class="lines">
2859
2749
 
2860
2750
 
2861
- 63
2862
- 64
2863
- 65</pre>
2751
+ 48
2752
+ 49
2753
+ 50</pre>
2864
2754
  </td>
2865
2755
  <td>
2866
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 63</span>
2756
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 48</span>
2867
2757
 
2868
2758
  <span class='kw'>def</span> <span class='id identifier rubyid_resource'>resource</span>
2869
2759
  <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>
@@ -2978,12 +2868,12 @@ in your resource directly.</p>
2978
2868
  <pre class="lines">
2979
2869
 
2980
2870
 
2981
- 146
2982
- 147
2983
- 148</pre>
2871
+ 131
2872
+ 132
2873
+ 133</pre>
2984
2874
  </td>
2985
2875
  <td>
2986
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 146</span>
2876
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 131</span>
2987
2877
 
2988
2878
  <span class='kw'>def</span> <span class='id identifier rubyid_scope'>scope</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_blk'>blk</span><span class='rparen'>)</span>
2989
2879
  <span class='ivar'>@scope_proc</span> <span class='op'>=</span> <span class='id identifier rubyid_blk'>blk</span>
@@ -3064,12 +2954,12 @@ in your resource directly.</p>
3064
2954
  <pre class="lines">
3065
2955
 
3066
2956
 
3067
- 345
3068
- 346
3069
- 347</pre>
2957
+ 330
2958
+ 331
2959
+ 332</pre>
3070
2960
  </td>
3071
2961
  <td>
3072
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 345</span>
2962
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 330</span>
3073
2963
 
3074
2964
  <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>
3075
2965
  <span class='ivar'>@sideloads</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span>
@@ -3077,116 +2967,6 @@ in your resource directly.</p>
3077
2967
  </td>
3078
2968
  </tr>
3079
2969
  </table>
3080
- </div>
3081
-
3082
- <div class="method_details ">
3083
- <h3 class="signature " id="to_hash-instance_method">
3084
-
3085
- #<strong>to_hash</strong>(recursion_chain = [], parent = nil) &#x21d2; <tt>Hash</tt>
3086
-
3087
-
3088
-
3089
-
3090
-
3091
- </h3><div class="docstring">
3092
- <div class="discussion">
3093
- <p class="note private">
3094
- <strong>This method is part of a private API.</strong>
3095
- You should avoid using this method if possible, as it may be removed or be changed in the future.
3096
- </p>
3097
-
3098
- <p>Looks at all nested sideload, and all nested sideloads for the
3099
- corresponding Resources, and returns an Include Directive hash</p>
3100
-
3101
- <p>For instance, this configuration:</p>
3102
-
3103
- <pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>BarResource</span> <span class='op'>&lt;</span> <span class='const'>ApplicationResource</span>
3104
- <span class='id identifier rubyid_allow_sideload'>allow_sideload</span> <span class='symbol'>:baz</span> <span class='kw'>do</span>
3105
- <span class='kw'>end</span>
3106
- <span class='kw'>end</span>
3107
-
3108
- <span class='kw'>class</span> <span class='const'>PostResource</span> <span class='op'>&lt;</span> <span class='const'>ApplicationResource</span>
3109
- <span class='id identifier rubyid_allow_sideload'>allow_sideload</span> <span class='symbol'>:foo</span> <span class='kw'>do</span>
3110
- <span class='id identifier rubyid_allow_sideload'>allow_sideload</span> <span class='symbol'>:bar</span><span class='comma'>,</span> <span class='label'>resource:</span> <span class='const'>BarResource</span> <span class='kw'>do</span>
3111
- <span class='kw'>end</span>
3112
- <span class='kw'>end</span>
3113
- <span class='kw'>end</span>
3114
- </code></pre>
3115
-
3116
- <p><code>post_resource.sideloading.to_hash</code> would return</p>
3117
-
3118
- <pre class="code ruby"><code class="ruby"><span class='lbrace'>{</span> <span class='label'>base:</span> <span class='lbrace'>{</span> <span class='label'>foo:</span> <span class='lbrace'>{</span> <span class='label'>bar:</span> <span class='lbrace'>{</span> <span class='label'>baz:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
3119
- </code></pre>
3120
-
3121
-
3122
- </div>
3123
- </div>
3124
- <div class="tags">
3125
-
3126
- <p class="tag_title">Returns:</p>
3127
- <ul class="return">
3128
-
3129
- <li>
3130
-
3131
-
3132
- <span class='type'>(<tt>Hash</tt>)</span>
3133
-
3134
-
3135
-
3136
- &mdash;
3137
- <div class='inline'>
3138
- <p>The nested include hash</p>
3139
- </div>
3140
-
3141
- </li>
3142
-
3143
- </ul>
3144
-
3145
- </div><table class="source_code">
3146
- <tr>
3147
- <td>
3148
- <pre class="lines">
3149
-
3150
-
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
3166
- 400</pre>
3167
- </td>
3168
- <td>
3169
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 385</span>
3170
-
3171
- <span class='kw'>def</span> <span class='id identifier rubyid_to_hash'>to_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_recursion_chain'>recursion_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>
3172
- <span class='id identifier rubyid_recursing'>recursing</span> <span class='op'>=</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_arr'>arr</span><span class='rparen'>)</span> <span class='tlambeg'>{</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='period'>.</span><span class='id identifier rubyid_object_id'>object_id</span><span class='comma'>,</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_object_id'>object_id</span><span class='rbracket'>]</span> <span class='rbrace'>}</span>
3173
- <span class='id identifier rubyid_recursions'>recursions</span> <span class='op'>=</span> <span class='id identifier rubyid_recursion_chain'>recursion_chain</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_recursing'>recursing</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
3174
- <span class='kw'>return</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_recursions'>recursions</span> <span class='op'>&gt;=</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_recursion'>max_recursion</span>
3175
-
3176
- <span class='kw'>unless</span> <span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span> <span class='op'>&amp;&amp;</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>
3177
- <span class='id identifier rubyid_recursion_chain'>recursion_chain</span> <span class='op'>+=</span> <span class='lbracket'>[</span><span class='lbracket'>[</span><span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_object_id'>object_id</span><span class='comma'>,</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_object_id'>object_id</span><span class='rbracket'>]</span><span class='rbracket'>]</span>
3178
- <span class='kw'>end</span>
3179
-
3180
- <span class='lbrace'>{</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>=&gt;</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>
3181
- <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>
3182
- <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_recursion_chain'>recursion_chain</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
3183
- <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>
3184
- <span class='kw'>end</span>
3185
- <span class='kw'>end</span>
3186
- <span class='kw'>end</span></pre>
3187
- </td>
3188
- </tr>
3189
- </table>
3190
2970
  </div>
3191
2971
 
3192
2972
  </div>
@@ -3194,7 +2974,7 @@ corresponding Resources, and returns an Include Directive hash</p>
3194
2974
  </div>
3195
2975
 
3196
2976
  <div id="footer">
3197
- Generated on Mon Oct 2 09:38:51 2017 by
2977
+ Generated on Tue Oct 3 09:22:26 2017 by
3198
2978
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
3199
2979
  0.9.9 (ruby-2.3.0).
3200
2980
  </div>