jsonapi_compliable 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
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>