jsonapi_compliable 0.6.13 → 0.7.2
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/.yardopts +1 -0
- data/docs/Jsonapi/ResourceGenerator.html +325 -0
- data/docs/Jsonapi.html +115 -0
- data/docs/JsonapiCompliable/Adapters/Abstract.html +1 -1
- data/docs/JsonapiCompliable/Adapters/ActiveRecord.html +59 -53
- data/docs/JsonapiCompliable/Adapters/ActiveRecordSideloading.html +6 -6
- data/docs/JsonapiCompliable/Adapters/Null.html +1 -1
- data/docs/JsonapiCompliable/Adapters.html +1 -1
- data/docs/JsonapiCompliable/Base.html +113 -117
- data/docs/JsonapiCompliable/Deserializer.html +87 -22
- 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/Errors.html +1 -1
- data/docs/JsonapiCompliable/Extensions/BooleanAttribute/ClassMethods.html +1 -1
- data/docs/JsonapiCompliable/Extensions/BooleanAttribute.html +1 -1
- data/docs/JsonapiCompliable/Extensions/ExtraAttribute/ClassMethods.html +1 -1
- data/docs/JsonapiCompliable/Extensions/ExtraAttribute.html +1 -1
- data/docs/JsonapiCompliable/Extensions.html +1 -1
- data/docs/JsonapiCompliable/Query.html +19 -17
- data/docs/JsonapiCompliable/Rails.html +1 -1
- data/docs/JsonapiCompliable/Resource.html +311 -220
- data/docs/JsonapiCompliable/Scope.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 +2 -2
- data/docs/JsonapiCompliable/Scoping/Paginate.html +1 -1
- data/docs/JsonapiCompliable/Scoping/Sort.html +1 -1
- data/docs/JsonapiCompliable/Scoping.html +1 -1
- data/docs/JsonapiCompliable/SerializableTempId.html +1 -1
- data/docs/JsonapiCompliable/Sideload.html +229 -78
- data/docs/JsonapiCompliable/Stats/DSL.html +1 -1
- data/docs/JsonapiCompliable/Stats/Payload.html +1 -1
- data/docs/JsonapiCompliable/Stats.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 +1 -1
- 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/JsonapiCompliable/Util.html +1 -1
- data/docs/JsonapiCompliable.html +210 -3
- data/docs/_index.html +13 -1
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +4 -2
- data/docs/index.html +4 -2
- data/docs/method_list.html +307 -243
- data/docs/top-level-namespace.html +2 -2
- data/lib/generators/jsonapi/resource_generator.rb +139 -58
- data/lib/generators/jsonapi/templates/application_resource.rb.erb +11 -2
- data/lib/generators/jsonapi/templates/controller.rb.erb +34 -0
- data/lib/generators/jsonapi/templates/destroy_request_spec.rb.erb +1 -1
- data/lib/generators/jsonapi/templates/payload.rb.erb +31 -0
- data/lib/generators/jsonapi/templates/resource.rb.erb +47 -0
- data/lib/generators/jsonapi/templates/serializer.rb.erb +17 -0
- data/lib/jsonapi_compliable/adapters/active_record_sideloading.rb +5 -5
- data/lib/jsonapi_compliable/resource.rb +11 -5
- data/lib/jsonapi_compliable/sideload.rb +40 -11
- data/lib/jsonapi_compliable/util/persistence.rb +9 -2
- data/lib/jsonapi_compliable/util/relationship_payload.rb +6 -0
- data/lib/jsonapi_compliable/util/validation_response.rb +2 -1
- data/lib/jsonapi_compliable/version.rb +1 -1
- metadata +4 -2
|
@@ -168,7 +168,7 @@ key.</p>
|
|
|
168
168
|
<li class="public ">
|
|
169
169
|
<span class="summary_signature">
|
|
170
170
|
|
|
171
|
-
<a href="#
|
|
171
|
+
<a href="#grouping_field-instance_method" title="#grouping_field (instance method)">#<strong>grouping_field</strong> ⇒ Symbol </a>
|
|
172
172
|
|
|
173
173
|
|
|
174
174
|
|
|
@@ -188,7 +188,7 @@ key.</p>
|
|
|
188
188
|
|
|
189
189
|
|
|
190
190
|
<span class="summary_desc"><div class='inline'>
|
|
191
|
-
<p>The configured 'group_by'
|
|
191
|
+
<p>The configured 'group_by' symbol.</p>
|
|
192
192
|
</div></span>
|
|
193
193
|
|
|
194
194
|
</li>
|
|
@@ -220,6 +220,35 @@ key.</p>
|
|
|
220
220
|
<p>The name of the sideload.</p>
|
|
221
221
|
</div></span>
|
|
222
222
|
|
|
223
|
+
</li>
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
<li class="public ">
|
|
227
|
+
<span class="summary_signature">
|
|
228
|
+
|
|
229
|
+
<a href="#parent-instance_method" title="#parent (instance method)">#<strong>parent</strong> ⇒ Object </a>
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
</span>
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
<span class="note title readonly">readonly</span>
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
<span class="summary_desc"><div class='inline'>
|
|
249
|
+
<p>Returns the value of attribute parent.</p>
|
|
250
|
+
</div></span>
|
|
251
|
+
|
|
223
252
|
</li>
|
|
224
253
|
|
|
225
254
|
|
|
@@ -515,7 +544,7 @@ key.</p>
|
|
|
515
544
|
<li class="public ">
|
|
516
545
|
<span class="summary_signature">
|
|
517
546
|
|
|
518
|
-
<a href="#group_by-instance_method" title="#group_by (instance method)">#<strong>group_by</strong>(
|
|
547
|
+
<a href="#group_by-instance_method" title="#group_by (instance method)">#<strong>group_by</strong>(grouping_field) ⇒ Object </a>
|
|
519
548
|
|
|
520
549
|
|
|
521
550
|
|
|
@@ -530,7 +559,7 @@ key.</p>
|
|
|
530
559
|
|
|
531
560
|
|
|
532
561
|
<span class="summary_desc"><div class='inline'>
|
|
533
|
-
<p>Define
|
|
562
|
+
<p>Define an attribute that groups the parent records.</p>
|
|
534
563
|
</div></span>
|
|
535
564
|
|
|
536
565
|
</li>
|
|
@@ -539,7 +568,7 @@ key.</p>
|
|
|
539
568
|
<li class="public ">
|
|
540
569
|
<span class="summary_signature">
|
|
541
570
|
|
|
542
|
-
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(name, type: nil, resource: nil, polymorphic: false, primary_key: :id, foreign_key: nil) ⇒ Sideload </a>
|
|
571
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(name, type: nil, resource: nil, polymorphic: false, primary_key: :id, foreign_key: nil, parent: nil) ⇒ Sideload </a>
|
|
543
572
|
|
|
544
573
|
|
|
545
574
|
|
|
@@ -584,6 +613,28 @@ instantiation.</p>
|
|
|
584
613
|
<p>Is this sideload polymorphic?.</p>
|
|
585
614
|
</div></span>
|
|
586
615
|
|
|
616
|
+
</li>
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
<li class="public ">
|
|
620
|
+
<span class="summary_signature">
|
|
621
|
+
|
|
622
|
+
<a href="#polymorphic_child_for_type-instance_method" title="#polymorphic_child_for_type (instance method)">#<strong>polymorphic_child_for_type</strong>(type) ⇒ Object </a>
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
</span>
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
<span class="private note title">private</span>
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
637
|
+
|
|
587
638
|
</li>
|
|
588
639
|
|
|
589
640
|
|
|
@@ -718,7 +769,7 @@ corresponding Resources, and returns an Include Directive hash.</p>
|
|
|
718
769
|
<div class="method_details first">
|
|
719
770
|
<h3 class="signature first" id="initialize-instance_method">
|
|
720
771
|
|
|
721
|
-
#<strong>initialize</strong>(name, type: nil, resource: nil, polymorphic: false, primary_key: :id, foreign_key: nil) ⇒ <tt><span class='object_link'><a href="" title="JsonapiCompliable::Sideload (class)">Sideload</a></span></tt>
|
|
772
|
+
#<strong>initialize</strong>(name, type: nil, resource: nil, polymorphic: false, primary_key: :id, foreign_key: nil, parent: nil) ⇒ <tt><span class='object_link'><a href="" title="JsonapiCompliable::Sideload (class)">Sideload</a></span></tt>
|
|
722
773
|
|
|
723
774
|
|
|
724
775
|
|
|
@@ -751,7 +802,6 @@ instantiation</p>
|
|
|
751
802
|
<pre class="lines">
|
|
752
803
|
|
|
753
804
|
|
|
754
|
-
31
|
|
755
805
|
32
|
|
756
806
|
33
|
|
757
807
|
34
|
|
@@ -762,17 +812,20 @@ instantiation</p>
|
|
|
762
812
|
39
|
|
763
813
|
40
|
|
764
814
|
41
|
|
765
|
-
42
|
|
815
|
+
42
|
|
816
|
+
43
|
|
817
|
+
44</pre>
|
|
766
818
|
</td>
|
|
767
819
|
<td>
|
|
768
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
820
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 32</span>
|
|
769
821
|
|
|
770
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>resource:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>polymorphic:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='label'>primary_key:</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='label'>foreign_key:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
|
822
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>resource:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>polymorphic:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='label'>primary_key:</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='label'>foreign_key:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>parent:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
|
771
823
|
<span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
|
|
772
824
|
<span class='ivar'>@resource_class</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_resource'>resource</span> <span class='op'>||</span> <span class='const'>Class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="Resource.html" title="JsonapiCompliable::Resource (class)">Resource</a></span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
773
825
|
<span class='ivar'>@sideloads</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
|
774
826
|
<span class='ivar'>@polymorphic</span> <span class='op'>=</span> <span class='op'>!</span><span class='op'>!</span><span class='id identifier rubyid_polymorphic'>polymorphic</span>
|
|
775
827
|
<span class='ivar'>@polymorphic_groups</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_polymorphic?'>polymorphic?</span>
|
|
828
|
+
<span class='ivar'>@parent</span> <span class='op'>=</span> <span class='id identifier rubyid_parent'>parent</span>
|
|
776
829
|
<span class='ivar'>@primary_key</span> <span class='op'>=</span> <span class='id identifier rubyid_primary_key'>primary_key</span>
|
|
777
830
|
<span class='ivar'>@foreign_key</span> <span class='op'>=</span> <span class='id identifier rubyid_foreign_key'>foreign_key</span>
|
|
778
831
|
<span class='ivar'>@type</span> <span class='op'>=</span> <span class='id identifier rubyid_type'>type</span>
|
|
@@ -915,9 +968,9 @@ key.</p>
|
|
|
915
968
|
|
|
916
969
|
<span id=""></span>
|
|
917
970
|
<div class="method_details ">
|
|
918
|
-
<h3 class="signature " id="
|
|
971
|
+
<h3 class="signature " id="grouping_field-instance_method">
|
|
919
972
|
|
|
920
|
-
#<strong>
|
|
973
|
+
#<strong>grouping_field</strong> ⇒ <tt>Symbol</tt> <span class="extras">(readonly)</span>
|
|
921
974
|
|
|
922
975
|
|
|
923
976
|
|
|
@@ -926,7 +979,7 @@ key.</p>
|
|
|
926
979
|
</h3><div class="docstring">
|
|
927
980
|
<div class="discussion">
|
|
928
981
|
|
|
929
|
-
<p>The configured 'group_by'
|
|
982
|
+
<p>The configured 'group_by' symbol</p>
|
|
930
983
|
|
|
931
984
|
|
|
932
985
|
</div>
|
|
@@ -939,13 +992,13 @@ key.</p>
|
|
|
939
992
|
<li>
|
|
940
993
|
|
|
941
994
|
|
|
942
|
-
<span class='type'>(<tt>
|
|
995
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
|
943
996
|
|
|
944
997
|
|
|
945
998
|
|
|
946
999
|
—
|
|
947
1000
|
<div class='inline'>
|
|
948
|
-
<p>the current value of
|
|
1001
|
+
<p>the current value of grouping_field</p>
|
|
949
1002
|
</div>
|
|
950
1003
|
|
|
951
1004
|
</li>
|
|
@@ -965,8 +1018,8 @@ key.</p>
|
|
|
965
1018
|
<td>
|
|
966
1019
|
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 13</span>
|
|
967
1020
|
|
|
968
|
-
<span class='kw'>def</span> <span class='id identifier
|
|
969
|
-
<span class='ivar'>@
|
|
1021
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_grouping_field'>grouping_field</span>
|
|
1022
|
+
<span class='ivar'>@grouping_field</span>
|
|
970
1023
|
<span class='kw'>end</span></pre>
|
|
971
1024
|
</td>
|
|
972
1025
|
</tr>
|
|
@@ -1035,6 +1088,49 @@ key.</p>
|
|
|
1035
1088
|
</div>
|
|
1036
1089
|
|
|
1037
1090
|
|
|
1091
|
+
<span id=""></span>
|
|
1092
|
+
<div class="method_details ">
|
|
1093
|
+
<h3 class="signature " id="parent-instance_method">
|
|
1094
|
+
|
|
1095
|
+
#<strong>parent</strong> ⇒ <tt>Object</tt> <span class="extras">(readonly)</span>
|
|
1096
|
+
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
|
|
1100
|
+
|
|
1101
|
+
</h3><div class="docstring">
|
|
1102
|
+
<div class="discussion">
|
|
1103
|
+
|
|
1104
|
+
<p>Returns the value of attribute parent</p>
|
|
1105
|
+
|
|
1106
|
+
|
|
1107
|
+
</div>
|
|
1108
|
+
</div>
|
|
1109
|
+
<div class="tags">
|
|
1110
|
+
|
|
1111
|
+
|
|
1112
|
+
</div><table class="source_code">
|
|
1113
|
+
<tr>
|
|
1114
|
+
<td>
|
|
1115
|
+
<pre class="lines">
|
|
1116
|
+
|
|
1117
|
+
|
|
1118
|
+
14
|
|
1119
|
+
15
|
|
1120
|
+
16</pre>
|
|
1121
|
+
</td>
|
|
1122
|
+
<td>
|
|
1123
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 14</span>
|
|
1124
|
+
|
|
1125
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parent'>parent</span>
|
|
1126
|
+
<span class='ivar'>@parent</span>
|
|
1127
|
+
<span class='kw'>end</span></pre>
|
|
1128
|
+
</td>
|
|
1129
|
+
</tr>
|
|
1130
|
+
</table>
|
|
1131
|
+
</div>
|
|
1132
|
+
|
|
1133
|
+
|
|
1038
1134
|
<span id=""></span>
|
|
1039
1135
|
<div class="method_details ">
|
|
1040
1136
|
<h3 class="signature " id="polymorphic-instance_method">
|
|
@@ -1565,19 +1661,19 @@ directly</p>
|
|
|
1565
1661
|
<pre class="lines">
|
|
1566
1662
|
|
|
1567
1663
|
|
|
1568
|
-
264
|
|
1569
|
-
265
|
|
1570
|
-
266
|
|
1571
|
-
267
|
|
1572
|
-
268
|
|
1573
|
-
269
|
|
1574
1664
|
270
|
|
1575
1665
|
271
|
|
1576
1666
|
272
|
|
1577
|
-
273
|
|
1667
|
+
273
|
|
1668
|
+
274
|
|
1669
|
+
275
|
|
1670
|
+
276
|
|
1671
|
+
277
|
|
1672
|
+
278
|
|
1673
|
+
279</pre>
|
|
1578
1674
|
</td>
|
|
1579
1675
|
<td>
|
|
1580
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
1676
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 270</span>
|
|
1581
1677
|
|
|
1582
1678
|
<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>
|
|
1583
1679
|
<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>
|
|
@@ -1708,12 +1804,12 @@ in your resource directly.</p>
|
|
|
1708
1804
|
<pre class="lines">
|
|
1709
1805
|
|
|
1710
1806
|
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1807
|
+
168
|
|
1808
|
+
169
|
|
1809
|
+
170</pre>
|
|
1714
1810
|
</td>
|
|
1715
1811
|
<td>
|
|
1716
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
1812
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 168</span>
|
|
1717
1813
|
|
|
1718
1814
|
<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>
|
|
1719
1815
|
<span class='ivar'>@assign_proc</span> <span class='op'>=</span> <span class='id identifier rubyid_blk'>blk</span>
|
|
@@ -1776,15 +1872,23 @@ in your resource directly.</p>
|
|
|
1776
1872
|
<pre class="lines">
|
|
1777
1873
|
|
|
1778
1874
|
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1875
|
+
185
|
|
1876
|
+
186
|
|
1877
|
+
187
|
|
1878
|
+
188
|
|
1879
|
+
189
|
|
1880
|
+
190
|
|
1881
|
+
191</pre>
|
|
1782
1882
|
</td>
|
|
1783
1883
|
<td>
|
|
1784
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
1884
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 185</span>
|
|
1785
1885
|
|
|
1786
1886
|
<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>
|
|
1787
|
-
<span class='id identifier
|
|
1887
|
+
<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 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'>:adapter</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_associate'>associate</span> <span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span>
|
|
1889
|
+
<span class='id identifier rubyid_child'>child</span><span class='comma'>,</span>
|
|
1890
|
+
<span class='id identifier rubyid_association_name'>association_name</span><span class='comma'>,</span>
|
|
1891
|
+
<span class='id identifier rubyid_type'>type</span>
|
|
1788
1892
|
<span class='kw'>end</span></pre>
|
|
1789
1893
|
</td>
|
|
1790
1894
|
</tr>
|
|
@@ -1794,7 +1898,7 @@ in your resource directly.</p>
|
|
|
1794
1898
|
<div class="method_details ">
|
|
1795
1899
|
<h3 class="signature " id="group_by-instance_method">
|
|
1796
1900
|
|
|
1797
|
-
#<strong>group_by</strong>(
|
|
1901
|
+
#<strong>group_by</strong>(grouping_field) ⇒ <tt>Object</tt>
|
|
1798
1902
|
|
|
1799
1903
|
|
|
1800
1904
|
|
|
@@ -1803,14 +1907,14 @@ in your resource directly.</p>
|
|
|
1803
1907
|
</h3><div class="docstring">
|
|
1804
1908
|
<div class="discussion">
|
|
1805
1909
|
|
|
1806
|
-
<p>Define
|
|
1910
|
+
<p>Define an attribute that groups the parent records. For instance, with an
|
|
1807
1911
|
ActiveRecord polymorphic belongs_to there will be a <code>parent_id</code>
|
|
1808
1912
|
and <code>parent_type</code>. We would want to group on
|
|
1809
1913
|
<code>parent_type</code>:</p>
|
|
1810
1914
|
|
|
1811
1915
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_allow_sideload'>allow_sideload</span> <span class='symbol'>:organization</span><span class='comma'>,</span> <span class='label'>polymorphic:</span> <span class='kw'>true</span> <span class='kw'>do</span>
|
|
1812
1916
|
<span class='comment'># group parent_type, parent here is 'organization'
|
|
1813
|
-
</span> <span class='id identifier rubyid_group_by'>group_by</span> <span class='
|
|
1917
|
+
</span> <span class='id identifier rubyid_group_by'>group_by</span> <span class='symbol'>:organization_type</span>
|
|
1814
1918
|
<span class='kw'>end</span>
|
|
1815
1919
|
</code></pre>
|
|
1816
1920
|
|
|
@@ -1833,15 +1937,15 @@ and <code>parent_type</code>. We would want to group on
|
|
|
1833
1937
|
<pre class="lines">
|
|
1834
1938
|
|
|
1835
1939
|
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1940
|
+
203
|
|
1941
|
+
204
|
|
1942
|
+
205</pre>
|
|
1839
1943
|
</td>
|
|
1840
1944
|
<td>
|
|
1841
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
1945
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 203</span>
|
|
1842
1946
|
|
|
1843
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_group_by'>group_by</span><span class='lparen'>(</span><span class='
|
|
1844
|
-
<span class='ivar'>@
|
|
1947
|
+
<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
|
+
<span class='ivar'>@grouping_field</span> <span class='op'>=</span> <span class='id identifier rubyid_grouping_field'>grouping_field</span>
|
|
1845
1949
|
<span class='kw'>end</span></pre>
|
|
1846
1950
|
</td>
|
|
1847
1951
|
</tr>
|
|
@@ -1868,7 +1972,7 @@ different 'types' can be resolved differently. Let's say an
|
|
|
1868
1972
|
be either a <code>Business</code> or <code>Government</code>:</p>
|
|
1869
1973
|
|
|
1870
1974
|
<pre class="code ruby"><code class="ruby">allow_sideload :organization, :polymorphic: true do
|
|
1871
|
-
group_by
|
|
1975
|
+
group_by :organization_type
|
|
1872
1976
|
|
|
1873
1977
|
allow_sideload 'Business', resource: BusinessResource do
|
|
1874
1978
|
# ... code ...
|
|
@@ -1883,7 +1987,7 @@ end</code></pre>
|
|
|
1883
1987
|
ActiveRecord:</p>
|
|
1884
1988
|
|
|
1885
1989
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_polymorphic_belongs_to'>polymorphic_belongs_to</span> <span class='symbol'>:organization</span><span class='comma'>,</span>
|
|
1886
|
-
<span class='label'>group_by:</span> <span class='
|
|
1990
|
+
<span class='label'>group_by:</span> <span class='symbol'>:organization_type</span><span class='comma'>,</span>
|
|
1887
1991
|
<span class='label'>groups:</span> <span class='lbrace'>{</span>
|
|
1888
1992
|
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Business</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='lbrace'>{</span>
|
|
1889
1993
|
<span class='label'>scope:</span> <span class='tlambda'>-></span> <span class='tlambeg'>{</span> <span class='const'>Business</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span> <span class='rbrace'>}</span><span class='comma'>,</span>
|
|
@@ -1935,12 +2039,12 @@ ActiveRecord:</p>
|
|
|
1935
2039
|
<pre class="lines">
|
|
1936
2040
|
|
|
1937
2041
|
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
2042
|
+
91
|
|
2043
|
+
92
|
|
2044
|
+
93</pre>
|
|
1941
2045
|
</td>
|
|
1942
2046
|
<td>
|
|
1943
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
2047
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 91</span>
|
|
1944
2048
|
|
|
1945
2049
|
<span class='kw'>def</span> <span class='id identifier rubyid_polymorphic?'>polymorphic?</span>
|
|
1946
2050
|
<span class='ivar'>@polymorphic</span> <span class='op'>==</span> <span class='kw'>true</span>
|
|
@@ -1948,6 +2052,53 @@ ActiveRecord:</p>
|
|
|
1948
2052
|
</td>
|
|
1949
2053
|
</tr>
|
|
1950
2054
|
</table>
|
|
2055
|
+
</div>
|
|
2056
|
+
|
|
2057
|
+
<div class="method_details ">
|
|
2058
|
+
<h3 class="signature " id="polymorphic_child_for_type-instance_method">
|
|
2059
|
+
|
|
2060
|
+
#<strong>polymorphic_child_for_type</strong>(type) ⇒ <tt>Object</tt>
|
|
2061
|
+
|
|
2062
|
+
|
|
2063
|
+
|
|
2064
|
+
|
|
2065
|
+
|
|
2066
|
+
</h3><div class="docstring">
|
|
2067
|
+
<div class="discussion">
|
|
2068
|
+
<p class="note private">
|
|
2069
|
+
<strong>This method is part of a private API.</strong>
|
|
2070
|
+
You should avoid using this method if possible, as it may be removed or be changed in the future.
|
|
2071
|
+
</p>
|
|
2072
|
+
|
|
2073
|
+
|
|
2074
|
+
</div>
|
|
2075
|
+
</div>
|
|
2076
|
+
<div class="tags">
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
</div><table class="source_code">
|
|
2080
|
+
<tr>
|
|
2081
|
+
<td>
|
|
2082
|
+
<pre class="lines">
|
|
2083
|
+
|
|
2084
|
+
|
|
2085
|
+
333
|
|
2086
|
+
334
|
|
2087
|
+
335
|
|
2088
|
+
336
|
|
2089
|
+
337</pre>
|
|
2090
|
+
</td>
|
|
2091
|
+
<td>
|
|
2092
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 333</span>
|
|
2093
|
+
|
|
2094
|
+
<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
|
+
<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>
|
|
2097
|
+
<span class='kw'>end</span>
|
|
2098
|
+
<span class='kw'>end</span></pre>
|
|
2099
|
+
</td>
|
|
2100
|
+
</tr>
|
|
2101
|
+
</table>
|
|
1951
2102
|
</div>
|
|
1952
2103
|
|
|
1953
2104
|
<div class="method_details ">
|
|
@@ -2054,18 +2205,18 @@ ActiveRecord:</p>
|
|
|
2054
2205
|
<pre class="lines">
|
|
2055
2206
|
|
|
2056
2207
|
|
|
2057
|
-
216
|
|
2058
|
-
217
|
|
2059
|
-
218
|
|
2060
|
-
219
|
|
2061
|
-
220
|
|
2062
|
-
221
|
|
2063
2208
|
222
|
|
2064
2209
|
223
|
|
2065
|
-
224
|
|
2210
|
+
224
|
|
2211
|
+
225
|
|
2212
|
+
226
|
|
2213
|
+
227
|
|
2214
|
+
228
|
|
2215
|
+
229
|
|
2216
|
+
230</pre>
|
|
2066
2217
|
</td>
|
|
2067
2218
|
<td>
|
|
2068
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
2219
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 222</span>
|
|
2069
2220
|
|
|
2070
2221
|
<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>
|
|
2071
2222
|
<span class='id identifier rubyid_namespace'>namespace</span> <span class='op'>||=</span> <span class='id identifier rubyid_name'>name</span>
|
|
@@ -2132,12 +2283,12 @@ ActiveRecord:</p>
|
|
|
2132
2283
|
<pre class="lines">
|
|
2133
2284
|
|
|
2134
2285
|
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2286
|
+
48
|
|
2287
|
+
49
|
|
2288
|
+
50</pre>
|
|
2138
2289
|
</td>
|
|
2139
2290
|
<td>
|
|
2140
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
2291
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 48</span>
|
|
2141
2292
|
|
|
2142
2293
|
<span class='kw'>def</span> <span class='id identifier rubyid_resource'>resource</span>
|
|
2143
2294
|
<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>
|
|
@@ -2252,12 +2403,12 @@ in your resource directly.</p>
|
|
|
2252
2403
|
<pre class="lines">
|
|
2253
2404
|
|
|
2254
2405
|
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2406
|
+
131
|
|
2407
|
+
132
|
|
2408
|
+
133</pre>
|
|
2258
2409
|
</td>
|
|
2259
2410
|
<td>
|
|
2260
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
2411
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 131</span>
|
|
2261
2412
|
|
|
2262
2413
|
<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>
|
|
2263
2414
|
<span class='ivar'>@scope_proc</span> <span class='op'>=</span> <span class='id identifier rubyid_blk'>blk</span>
|
|
@@ -2338,12 +2489,12 @@ in your resource directly.</p>
|
|
|
2338
2489
|
<pre class="lines">
|
|
2339
2490
|
|
|
2340
2491
|
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2492
|
+
285
|
|
2493
|
+
286
|
|
2494
|
+
287</pre>
|
|
2344
2495
|
</td>
|
|
2345
2496
|
<td>
|
|
2346
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
2497
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 285</span>
|
|
2347
2498
|
|
|
2348
2499
|
<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>
|
|
2349
2500
|
<span class='ivar'>@sideloads</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span>
|
|
@@ -2422,12 +2573,6 @@ corresponding Resources, and returns an Include Directive hash</p>
|
|
|
2422
2573
|
<pre class="lines">
|
|
2423
2574
|
|
|
2424
2575
|
|
|
2425
|
-
306
|
|
2426
|
-
307
|
|
2427
|
-
308
|
|
2428
|
-
309
|
|
2429
|
-
310
|
|
2430
|
-
311
|
|
2431
2576
|
312
|
|
2432
2577
|
313
|
|
2433
2578
|
314
|
|
@@ -2440,10 +2585,16 @@ corresponding Resources, and returns an Include Directive hash</p>
|
|
|
2440
2585
|
321
|
|
2441
2586
|
322
|
|
2442
2587
|
323
|
|
2443
|
-
324
|
|
2588
|
+
324
|
|
2589
|
+
325
|
|
2590
|
+
326
|
|
2591
|
+
327
|
|
2592
|
+
328
|
|
2593
|
+
329
|
|
2594
|
+
330</pre>
|
|
2444
2595
|
</td>
|
|
2445
2596
|
<td>
|
|
2446
|
-
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line
|
|
2597
|
+
<pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/sideload.rb', line 312</span>
|
|
2447
2598
|
|
|
2448
2599
|
<span class='kw'>def</span> <span class='id identifier rubyid_to_hash'>to_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_processed'>processed</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|
2449
2600
|
<span class='kw'>return</span> <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='kw'>if</span> <span class='id identifier rubyid_processed'>processed</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
|
|
@@ -2474,7 +2625,7 @@ corresponding Resources, and returns an Include Directive hash</p>
|
|
|
2474
2625
|
</div>
|
|
2475
2626
|
|
|
2476
2627
|
<div id="footer">
|
|
2477
|
-
Generated on
|
|
2628
|
+
Generated on Wed Jun 7 10:15:10 2017 by
|
|
2478
2629
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
2479
2630
|
0.9.9 (ruby-2.3.0).
|
|
2480
2631
|
</div>
|
|
@@ -989,7 +989,7 @@ configured.</p>
|
|
|
989
989
|
</div>
|
|
990
990
|
|
|
991
991
|
<div id="footer">
|
|
992
|
-
Generated on
|
|
992
|
+
Generated on Wed Jun 7 10:15:10 2017 by
|
|
993
993
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
994
994
|
0.9.9 (ruby-2.3.0).
|
|
995
995
|
</div>
|
|
@@ -381,7 +381,7 @@ results.</p>
|
|
|
381
381
|
</div>
|
|
382
382
|
|
|
383
383
|
<div id="footer">
|
|
384
|
-
Generated on
|
|
384
|
+
Generated on Wed Jun 7 10:15:10 2017 by
|
|
385
385
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
386
386
|
0.9.9 (ruby-2.3.0).
|
|
387
387
|
</div>
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
</div>
|
|
108
108
|
|
|
109
109
|
<div id="footer">
|
|
110
|
-
Generated on
|
|
110
|
+
Generated on Wed Jun 7 10:15:09 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>
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
</div>
|
|
219
219
|
|
|
220
220
|
<div id="footer">
|
|
221
|
-
Generated on
|
|
221
|
+
Generated on Wed Jun 7 10:15:10 2017 by
|
|
222
222
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
223
223
|
0.9.9 (ruby-2.3.0).
|
|
224
224
|
</div>
|
|
@@ -461,7 +461,7 @@
|
|
|
461
461
|
</div>
|
|
462
462
|
|
|
463
463
|
<div id="footer">
|
|
464
|
-
Generated on
|
|
464
|
+
Generated on Wed Jun 7 10:15:10 2017 by
|
|
465
465
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
466
466
|
0.9.9 (ruby-2.3.0).
|
|
467
467
|
</div>
|
|
@@ -289,7 +289,7 @@
|
|
|
289
289
|
</div>
|
|
290
290
|
|
|
291
291
|
<div id="footer">
|
|
292
|
-
Generated on
|
|
292
|
+
Generated on Wed Jun 7 10:15:10 2017 by
|
|
293
293
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
294
294
|
0.9.9 (ruby-2.3.0).
|
|
295
295
|
</div>
|