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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +8 -0
  3. data/docs/Jsonapi.html +1 -1
  4. data/docs/Jsonapi/ResourceGenerator.html +13 -123
  5. data/docs/JsonapiCompliable.html +2 -2
  6. data/docs/JsonapiCompliable/Adapters.html +1 -1
  7. data/docs/JsonapiCompliable/Adapters/Abstract.html +193 -17
  8. data/docs/JsonapiCompliable/Adapters/ActiveRecord.html +106 -20
  9. data/docs/JsonapiCompliable/Adapters/ActiveRecordSideloading.html +4 -4
  10. data/docs/JsonapiCompliable/Adapters/Null.html +2 -2
  11. data/docs/JsonapiCompliable/Base.html +2 -2
  12. data/docs/JsonapiCompliable/Deserializer.html +25 -23
  13. data/docs/JsonapiCompliable/Errors.html +1 -1
  14. data/docs/JsonapiCompliable/Errors/BadFilter.html +1 -1
  15. data/docs/JsonapiCompliable/Errors/StatNotFound.html +1 -1
  16. data/docs/JsonapiCompliable/Errors/UnsupportedPageSize.html +1 -1
  17. data/docs/JsonapiCompliable/Errors/ValidationError.html +1 -1
  18. data/docs/JsonapiCompliable/Extensions.html +1 -1
  19. data/docs/JsonapiCompliable/Extensions/BooleanAttribute.html +1 -1
  20. data/docs/JsonapiCompliable/Extensions/BooleanAttribute/ClassMethods.html +1 -1
  21. data/docs/JsonapiCompliable/Extensions/ExtraAttribute.html +1 -1
  22. data/docs/JsonapiCompliable/Extensions/ExtraAttribute/ClassMethods.html +1 -1
  23. data/docs/JsonapiCompliable/Query.html +1 -1
  24. data/docs/JsonapiCompliable/Rails.html +1 -1
  25. data/docs/JsonapiCompliable/Resource.html +261 -109
  26. data/docs/JsonapiCompliable/Scope.html +1 -1
  27. data/docs/JsonapiCompliable/Scoping.html +1 -1
  28. data/docs/JsonapiCompliable/Scoping/Base.html +1 -1
  29. data/docs/JsonapiCompliable/Scoping/DefaultFilter.html +1 -1
  30. data/docs/JsonapiCompliable/Scoping/ExtraFields.html +1 -1
  31. data/docs/JsonapiCompliable/Scoping/Filter.html +1 -1
  32. data/docs/JsonapiCompliable/Scoping/Filterable.html +1 -1
  33. data/docs/JsonapiCompliable/Scoping/Paginate.html +1 -1
  34. data/docs/JsonapiCompliable/Scoping/Sort.html +1 -1
  35. data/docs/JsonapiCompliable/SerializableTempId.html +1 -1
  36. data/docs/JsonapiCompliable/Sideload.html +691 -124
  37. data/docs/JsonapiCompliable/Stats.html +1 -1
  38. data/docs/JsonapiCompliable/Stats/DSL.html +1 -1
  39. data/docs/JsonapiCompliable/Stats/Payload.html +1 -1
  40. data/docs/JsonapiCompliable/Util.html +1 -1
  41. data/docs/JsonapiCompliable/Util/FieldParams.html +1 -1
  42. data/docs/JsonapiCompliable/Util/Hash.html +1 -1
  43. data/docs/JsonapiCompliable/Util/IncludeParams.html +1 -1
  44. data/docs/JsonapiCompliable/Util/Persistence.html +22 -12
  45. data/docs/JsonapiCompliable/Util/RelationshipPayload.html +1 -1
  46. data/docs/JsonapiCompliable/Util/RenderOptions.html +1 -1
  47. data/docs/JsonapiCompliable/Util/ValidationResponse.html +1 -1
  48. data/docs/_index.html +1 -1
  49. data/docs/file.README.html +11 -14
  50. data/docs/index.html +11 -14
  51. data/docs/method_list.html +368 -280
  52. data/docs/top-level-namespace.html +1 -1
  53. data/lib/jsonapi_compliable/sideload.rb +38 -17
  54. data/lib/jsonapi_compliable/util/relationship_payload.rb +1 -0
  55. data/lib/jsonapi_compliable/version.rb +1 -1
  56. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f5fedeea577e5f906c540f5a4204450c98d70055
4
- data.tar.gz: d38aa664cf50468fab2af7d1761acfa78d54f69c
3
+ metadata.gz: 8cd350205232651cd443c93c7132eae74fd0ef8a
4
+ data.tar.gz: d21cba71a88f65a67ded935e60579519a1f65d7d
5
5
  SHA512:
6
- metadata.gz: e14232a3b4a4e43ef1945f4ca49358dfb537e80803ef96bc24b84b0b56b020036a6090cd1cd4215445c070ba71f14b3149fb5f420ac71ff42be6b23811626abb
7
- data.tar.gz: 0cdcb246386014a2f65074aa9ece19d97c2b575060ea97b74d740ad707937a8dbc1431f66fb311c6d4193f8083db07a2c384d5e72b647c616db0b015176d5139
6
+ metadata.gz: 22b19b78097fb3e93363f0508e4533a31cf1c81a6595ab14aeb66edf17ccbc83dd7cc3746b75589dc5c171a30c942d8d1be824cdf936926dd431a7d91ac5de92
7
+ data.tar.gz: 49b7f6ff42cb6f9072bfb96cac20c33f89df900055d0943327d92e36f5635f222309036730ec61a01baadff71dc0f5662828c8057b4482fa325095f9d0fa86ed
data/.travis.yml CHANGED
@@ -15,3 +15,11 @@ install: bundle install --retry=3 --jobs=3
15
15
  gemfile:
16
16
  - gemfiles/rails_4.gemfile
17
17
  - gemfiles/rails_5.gemfile
18
+
19
+ deploy:
20
+ provider: rubygems
21
+ api_key: $RUBYGEMS_API_KEY
22
+ gem: jsonapi_compliable
23
+ on:
24
+ tags: true
25
+ repo: jsonapi-suite/jsonapi_compliable
data/docs/Jsonapi.html CHANGED
@@ -105,7 +105,7 @@
105
105
  </div>
106
106
 
107
107
  <div id="footer">
108
- Generated on Wed Jun 7 10:15:09 2017 by
108
+ Generated on Thu Sep 28 17:28:10 2017 by
109
109
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
110
110
  0.9.9 (ruby-2.3.0).
111
111
  </div>
@@ -163,36 +163,6 @@
163
163
  <pre class="lines">
164
164
 
165
165
 
166
- 12
167
- 13
168
- 14
169
- 15
170
- 16
171
- 17
172
- 18
173
- 19
174
- 20
175
- 21
176
- 22
177
- 23
178
- 24
179
- 25
180
- 26
181
- 27
182
- 28
183
- 29
184
- 30
185
- 31
186
- 32
187
- 33
188
- 34
189
- 35
190
- 36
191
- 37
192
- 38
193
- 39
194
- 40
195
- 41
196
166
  42
197
167
  43
198
168
  44
@@ -206,104 +176,24 @@
206
176
  52
207
177
  53
208
178
  54
209
- 55
210
- 56
211
- 57
212
- 58
213
- 59
214
- 60
215
- 61
216
- 62
217
- 63
218
- 64
219
- 65
220
- 66
221
- 67
222
- 68
223
- 69
224
- 70
225
- 71
226
- 72
227
- 73
228
- 74
229
- 75
230
- 76
231
- 77
232
- 78
233
- 79
234
- 80</pre>
179
+ 55</pre>
235
180
  </td>
236
181
  <td>
237
- <pre class="code"><span class="info file"># File 'lib/generators/jsonapi/resource_generator.rb', line 12</span>
182
+ <pre class="code"><span class="info file"># File 'lib/generators/jsonapi/resource_generator.rb', line 42</span>
238
183
 
239
184
  <span class='kw'>def</span> <span class='id identifier rubyid_copy_resource_file'>copy_resource_file</span>
240
- <span class='kw'>unless</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>no-controller</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
241
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>app/controllers</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span><span class='embexpr_end'>}</span><span class='tstring_content'>_controller.rb</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
242
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>controller.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
185
+ <span class='kw'>unless</span> <span class='id identifier rubyid_model_klass'>model_klass</span>
186
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>You must define a </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_class_name'>class_name</span><span class='embexpr_end'>}</span><span class='tstring_content'> model before generating the corresponding resource.</span><span class='tstring_end'>&quot;</span></span>
243
187
  <span class='kw'>end</span>
244
188
 
245
- <span class='kw'>unless</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>no-serializer</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
246
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>app/serializers</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>serializable_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.rb</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
247
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>serializer.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
248
- <span class='kw'>end</span>
249
-
250
- <span class='kw'>unless</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>ApplicationResource</span><span class='tstring_end'>&#39;</span></span><span class='period'>.</span><span class='id identifier rubyid_safe_constantize'>safe_constantize</span>
251
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>app/resources</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>application_resource.rb</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
252
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>application_resource.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
253
- <span class='kw'>end</span>
254
-
255
- <span class='kw'>unless</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>no-payload</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
256
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>spec/payloads</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.rb</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
257
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>payload.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
258
- <span class='kw'>end</span>
259
-
260
- <span class='kw'>unless</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>no-strong-resources</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
261
- <span class='id identifier rubyid_inject_into_file'>inject_into_file</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>config/initializers/strong_resources.rb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>after:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>StrongResources.configure do\n</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span> <span class='heredoc_beg'>&lt;&lt;-STR</span>
262
- <span class='tstring_content'> strong_resource :</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='embexpr_end'>}</span><span class='tstring_content'> do
263
- # Your attributes go here, e.g.
264
- # attribute :name, :string
265
- end
266
-
267
- </span><span class='heredoc_end'> STR
268
- </span> <span class='kw'>end</span>
269
- <span class='kw'>end</span>
270
-
271
- <span class='kw'>unless</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>no-route</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
272
- <span class='id identifier rubyid_inject_into_file'>inject_into_file</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>config/routes.rb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>after:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>scope &#39;/api&#39; do\n scope &#39;/v1&#39; do\n</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span> <span class='heredoc_beg'>&lt;&lt;-STR</span>
273
- <span class='tstring_content'> resources :</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>
274
- </span><span class='heredoc_end'> STR
275
- </span> <span class='kw'>end</span>
276
- <span class='kw'>end</span>
277
-
278
- <span class='kw'>unless</span> <span class='ivar'>@options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>no-test</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
279
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spec/api/v1/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
280
- <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span>
281
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>index_spec.rb</span><span class='tstring_end'>&quot;</span></span>
282
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>index_request_spec.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
283
-
284
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spec/api/v1/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
285
- <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span>
286
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>show_spec.rb</span><span class='tstring_end'>&quot;</span></span>
287
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>show_request_spec.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
288
-
289
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spec/api/v1/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
290
- <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span>
291
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>create_spec.rb</span><span class='tstring_end'>&quot;</span></span>
292
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>create_request_spec.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
293
-
294
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spec/api/v1/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
295
- <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span>
296
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>update_spec.rb</span><span class='tstring_end'>&quot;</span></span>
297
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>update_request_spec.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
298
-
299
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spec/api/v1/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
300
- <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span>
301
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>destroy_spec.rb</span><span class='tstring_end'>&quot;</span></span>
302
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>destroy_request_spec.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
303
- <span class='kw'>end</span>
304
-
305
- <span class='id identifier rubyid_to'>to</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>app/resources</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_class_path'>class_path</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_name'>file_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_resource.rb</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
306
- <span class='id identifier rubyid_template'>template</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>resource.rb.erb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_to'>to</span><span class='rparen'>)</span>
189
+ <span class='id identifier rubyid_generate_controller'>generate_controller</span> <span class='kw'>unless</span> <span class='id identifier rubyid_omit_controller?'>omit_controller?</span>
190
+ <span class='id identifier rubyid_generate_serializer'>generate_serializer</span> <span class='kw'>unless</span> <span class='id identifier rubyid_omit_serializer?'>omit_serializer?</span>
191
+ <span class='id identifier rubyid_generate_application_resource'>generate_application_resource</span> <span class='kw'>unless</span> <span class='id identifier rubyid_application_resource_defined?'>application_resource_defined?</span>
192
+ <span class='id identifier rubyid_generate_spec_payload'>generate_spec_payload</span> <span class='kw'>unless</span> <span class='id identifier rubyid_omit_spec_payload?'>omit_spec_payload?</span>
193
+ <span class='id identifier rubyid_generate_strong_resource'>generate_strong_resource</span> <span class='kw'>unless</span> <span class='id identifier rubyid_omit_strong_resource?'>omit_strong_resource?</span>
194
+ <span class='id identifier rubyid_generate_route'>generate_route</span> <span class='kw'>unless</span> <span class='id identifier rubyid_omit_route?'>omit_route?</span>
195
+ <span class='id identifier rubyid_generate_tests'>generate_tests</span> <span class='kw'>unless</span> <span class='id identifier rubyid_omit_tests?'>omit_tests?</span>
196
+ <span class='id identifier rubyid_generate_resource'>generate_resource</span>
307
197
  <span class='kw'>end</span></pre>
308
198
  </td>
309
199
  </tr>
@@ -315,7 +205,7 @@
315
205
  </div>
316
206
 
317
207
  <div id="footer">
318
- Generated on Wed Jun 7 10:15:10 2017 by
208
+ Generated on Thu Sep 28 17:28:11 2017 by
319
209
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
320
210
  0.9.9 (ruby-2.3.0).
321
211
  </div>
@@ -104,7 +104,7 @@
104
104
  <dt id="VERSION-constant" class="">VERSION =
105
105
 
106
106
  </dt>
107
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.7.0</span><span class='tstring_end'>&quot;</span></span></pre></dd>
107
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.9.0</span><span class='tstring_end'>&quot;</span></span></pre></dd>
108
108
 
109
109
  </dl>
110
110
 
@@ -399,7 +399,7 @@
399
399
  </div>
400
400
 
401
401
  <div id="footer">
402
- Generated on Wed Jun 7 10:15:09 2017 by
402
+ Generated on Thu Sep 28 17:28:09 2017 by
403
403
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
404
404
  0.9.9 (ruby-2.3.0).
405
405
  </div>
@@ -109,7 +109,7 @@
109
109
  </div>
110
110
 
111
111
  <div id="footer">
112
- Generated on Wed Jun 7 10:15:09 2017 by
112
+ Generated on Thu Sep 28 17:28:10 2017 by
113
113
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
114
114
  0.9.9 (ruby-2.3.0).
115
115
  </div>
@@ -333,6 +333,30 @@ API you are hitting does not support sorting, use
333
333
  <p>The model instance just destroyed.</p>
334
334
  </div></span>
335
335
 
336
+ </li>
337
+
338
+
339
+ <li class="public ">
340
+ <span class="summary_signature">
341
+
342
+ <a href="#disassociate-instance_method" title="#disassociate (instance method)">#<strong>disassociate</strong>(parent, child, association_name, association_type) &#x21d2; Object </a>
343
+
344
+
345
+
346
+ </span>
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+ <span class="summary_desc"><div class='inline'>
357
+ <p>Remove the association without destroying objects.</p>
358
+ </div></span>
359
+
336
360
  </li>
337
361
 
338
362
 
@@ -1044,12 +1068,12 @@ your sideload configuration:</p>
1044
1068
  <pre class="lines">
1045
1069
 
1046
1070
 
1047
- 263
1048
- 264
1049
- 265</pre>
1071
+ 303
1072
+ 304
1073
+ 305</pre>
1050
1074
  </td>
1051
1075
  <td>
1052
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 263</span>
1076
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 303</span>
1053
1077
 
1054
1078
  <span class='kw'>def</span> <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_model_class'>model_class</span><span class='comma'>,</span> <span class='id identifier rubyid_create_params'>create_params</span><span class='rparen'>)</span>
1055
1079
  <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>you must override #create in an adapter subclass</span><span class='tstring_end'>&#39;</span></span>
@@ -1162,12 +1186,12 @@ your sideload configuration:</p>
1162
1186
  <pre class="lines">
1163
1187
 
1164
1188
 
1165
- 291
1166
- 292
1167
- 293</pre>
1189
+ 331
1190
+ 332
1191
+ 333</pre>
1168
1192
  </td>
1169
1193
  <td>
1170
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 291</span>
1194
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 331</span>
1171
1195
 
1172
1196
  <span class='kw'>def</span> <span class='id identifier rubyid_destroy'>destroy</span><span class='lparen'>(</span><span class='id identifier rubyid_model_class'>model_class</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
1173
1197
  <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>you must override #destroy in an adapter subclass</span><span class='tstring_end'>&#39;</span></span>
@@ -1175,6 +1199,158 @@ your sideload configuration:</p>
1175
1199
  </td>
1176
1200
  </tr>
1177
1201
  </table>
1202
+ </div>
1203
+
1204
+ <div class="method_details ">
1205
+ <h3 class="signature " id="disassociate-instance_method">
1206
+
1207
+ #<strong>disassociate</strong>(parent, child, association_name, association_type) &#x21d2; <tt>Object</tt>
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+ </h3><div class="docstring">
1214
+ <div class="discussion">
1215
+
1216
+ <p>Remove the association without destroying objects</p>
1217
+
1218
+ <p>This is NOT needed in the standard use case. The standard use case would
1219
+ be:</p>
1220
+
1221
+ <pre class="code ruby"><code class="ruby"><span class='kw'>def</span> <span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span>
1222
+ <span class='comment'># attrs[:the_foreign_key] is nil, so updating the record disassociates
1223
+ </span><span class='kw'>end</span>
1224
+ </code></pre>
1225
+
1226
+ <p>However, sometimes you need side-effect or elsewise non-standard behavior.
1227
+ Consider using <a href="{https://github.com/mbleigh/acts-as-taggable-on" target="_parent" title="acts_as_taggable_on">acts_as_taggable_on</a>} gem:</p>
1228
+
1229
+ <pre class="code ruby"><code class="ruby"><span class='comment'># Not actually needed, just an example
1230
+ </span><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='comma'>,</span> <span class='id identifier rubyid_association_name'>association_name</span><span class='comma'>,</span> <span class='id identifier rubyid_association_type'>association_type</span><span class='rparen'>)</span>
1231
+ <span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_tag_list'>tag_list</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_child'>child</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
1232
+ <span class='kw'>end</span>
1233
+ </code></pre>
1234
+
1235
+ <p><code>association_name</code> and <code>association_type</code> come from
1236
+ your sideload configuration:</p>
1237
+
1238
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_allow_sideload'>allow_sideload</span> <span class='symbol'>:the_name</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='id identifier rubyid_the_type'>the_type</span> <span class='kw'>do</span>
1239
+ <span class='comment'># ... code.
1240
+ </span><span class='kw'>end</span>
1241
+ </code></pre>
1242
+
1243
+
1244
+ </div>
1245
+ </div>
1246
+ <div class="tags">
1247
+
1248
+ <div class="examples">
1249
+ <p class="tag_title">Examples:</p>
1250
+
1251
+
1252
+ <p class="example_title"><div class='inline'>
1253
+ <p>Basic accessor</p>
1254
+ </div></p>
1255
+
1256
+ <pre class="example code"><code><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='comma'>,</span> <span class='id identifier rubyid_association_name'>association_name</span><span class='comma'>,</span> <span class='id identifier rubyid_association_type'>association_type</span><span class='rparen'>)</span>
1257
+ <span class='kw'>if</span> <span class='id identifier rubyid_association_type'>association_type</span> <span class='op'>==</span> <span class='symbol'>:has_many</span>
1258
+ <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='id identifier rubyid_association_name'>association_name</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_child'>child</span><span class='rparen'>)</span>
1259
+ <span class='kw'>else</span>
1260
+ <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_association_name'>association_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1261
+ <span class='kw'>end</span>
1262
+ <span class='kw'>end</span></code></pre>
1263
+
1264
+ </div>
1265
+ <p class="tag_title">Parameters:</p>
1266
+ <ul class="param">
1267
+
1268
+ <li>
1269
+
1270
+ <span class='name'>parent</span>
1271
+
1272
+
1273
+ <span class='type'></span>
1274
+
1275
+
1276
+
1277
+ &mdash;
1278
+ <div class='inline'>
1279
+ <p>The parent object (via the JSONAPI &#39;relationships&#39; graph)</p>
1280
+ </div>
1281
+
1282
+ </li>
1283
+
1284
+ <li>
1285
+
1286
+ <span class='name'>child</span>
1287
+
1288
+
1289
+ <span class='type'></span>
1290
+
1291
+
1292
+
1293
+ &mdash;
1294
+ <div class='inline'>
1295
+ <p>The child object (via the JSONAPI &#39;relationships&#39; graph)</p>
1296
+ </div>
1297
+
1298
+ </li>
1299
+
1300
+ <li>
1301
+
1302
+ <span class='name'>association_name</span>
1303
+
1304
+
1305
+ <span class='type'></span>
1306
+
1307
+
1308
+
1309
+ &mdash;
1310
+ <div class='inline'>
1311
+ <p>The &#39;relationships&#39; key we are processing</p>
1312
+ </div>
1313
+
1314
+ </li>
1315
+
1316
+ <li>
1317
+
1318
+ <span class='name'>association_type</span>
1319
+
1320
+
1321
+ <span class='type'></span>
1322
+
1323
+
1324
+
1325
+ &mdash;
1326
+ <div class='inline'>
1327
+ <p>The Sideload type (see Sideload#type). Usually :has_many/:belongs_to/etc</p>
1328
+ </div>
1329
+
1330
+ </li>
1331
+
1332
+ </ul>
1333
+
1334
+
1335
+ </div><table class="source_code">
1336
+ <tr>
1337
+ <td>
1338
+ <pre class="lines">
1339
+
1340
+
1341
+ 276
1342
+ 277
1343
+ 278</pre>
1344
+ </td>
1345
+ <td>
1346
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 276</span>
1347
+
1348
+ <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='comma'>,</span> <span class='id identifier rubyid_association_name'>association_name</span><span class='comma'>,</span> <span class='id identifier rubyid_association_type'>association_type</span><span class='rparen'>)</span>
1349
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>you must override #disassociate in an adapter subclass</span><span class='tstring_end'>&#39;</span></span>
1350
+ <span class='kw'>end</span></pre>
1351
+ </td>
1352
+ </tr>
1353
+ </table>
1178
1354
  </div>
1179
1355
 
1180
1356
  <div class="method_details ">
@@ -1943,12 +2119,12 @@ Sideload#allow_sideload</p>
1943
2119
  <pre class="lines">
1944
2120
 
1945
2121
 
1946
- 249
1947
- 250
1948
- 251</pre>
2122
+ 289
2123
+ 290
2124
+ 291</pre>
1949
2125
  </td>
1950
2126
  <td>
1951
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 249</span>
2127
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 289</span>
1952
2128
 
1953
2129
  <span class='kw'>def</span> <span class='id identifier rubyid_sideloading_module'>sideloading_module</span>
1954
2130
  <span class='const'>Module</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
@@ -2255,12 +2431,12 @@ This method should roll back the transaction if an error is raised.</p>
2255
2431
  <pre class="lines">
2256
2432
 
2257
2433
 
2258
- 277
2259
- 278
2260
- 279</pre>
2434
+ 317
2435
+ 318
2436
+ 319</pre>
2261
2437
  </td>
2262
2438
  <td>
2263
- <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 277</span>
2439
+ <pre class="code"><span class="info file"># File 'lib/jsonapi_compliable/adapters/abstract.rb', line 317</span>
2264
2440
 
2265
2441
  <span class='kw'>def</span> <span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_model_class'>model_class</span><span class='comma'>,</span> <span class='id identifier rubyid_update_params'>update_params</span><span class='rparen'>)</span>
2266
2442
  <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>you must override #update in an adapter subclass</span><span class='tstring_end'>&#39;</span></span>
@@ -2275,7 +2451,7 @@ This method should roll back the transaction if an error is raised.</p>
2275
2451
  </div>
2276
2452
 
2277
2453
  <div id="footer">
2278
- Generated on Wed Jun 7 10:15:10 2017 by
2454
+ Generated on Thu Sep 28 17:28:11 2017 by
2279
2455
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2280
2456
  0.9.9 (ruby-2.3.0).
2281
2457
  </div>