active_model_serializers 0.8.3 → 0.10.15

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 (97) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +726 -6
  3. data/{MIT-LICENSE.txt → MIT-LICENSE} +3 -2
  4. data/README.md +194 -545
  5. data/lib/action_controller/serialization.rb +53 -38
  6. data/lib/active_model/serializable_resource.rb +13 -0
  7. data/lib/active_model/serializer/adapter/attributes.rb +17 -0
  8. data/lib/active_model/serializer/adapter/base.rb +20 -0
  9. data/lib/active_model/serializer/adapter/json.rb +17 -0
  10. data/lib/active_model/serializer/adapter/json_api.rb +17 -0
  11. data/lib/active_model/serializer/adapter/null.rb +17 -0
  12. data/lib/active_model/serializer/adapter.rb +26 -0
  13. data/lib/active_model/serializer/array_serializer.rb +14 -0
  14. data/lib/active_model/serializer/association.rb +73 -0
  15. data/lib/active_model/serializer/attribute.rb +27 -0
  16. data/lib/active_model/serializer/belongs_to_reflection.rb +13 -0
  17. data/lib/active_model/serializer/collection_serializer.rb +99 -0
  18. data/lib/active_model/serializer/concerns/caching.rb +305 -0
  19. data/lib/active_model/serializer/error_serializer.rb +16 -0
  20. data/lib/active_model/serializer/errors_serializer.rb +34 -0
  21. data/lib/active_model/serializer/field.rb +92 -0
  22. data/lib/active_model/serializer/fieldset.rb +33 -0
  23. data/lib/active_model/serializer/has_many_reflection.rb +12 -0
  24. data/lib/active_model/serializer/has_one_reflection.rb +9 -0
  25. data/lib/active_model/serializer/lazy_association.rb +99 -0
  26. data/lib/active_model/serializer/link.rb +23 -0
  27. data/lib/active_model/serializer/lint.rb +152 -0
  28. data/lib/active_model/serializer/null.rb +19 -0
  29. data/lib/active_model/serializer/reflection.rb +212 -0
  30. data/lib/active_model/serializer/version.rb +7 -0
  31. data/lib/active_model/serializer.rb +354 -442
  32. data/lib/active_model_serializers/adapter/attributes.rb +36 -0
  33. data/lib/active_model_serializers/adapter/base.rb +85 -0
  34. data/lib/active_model_serializers/adapter/json.rb +23 -0
  35. data/lib/active_model_serializers/adapter/json_api/deserialization.rb +215 -0
  36. data/lib/active_model_serializers/adapter/json_api/error.rb +98 -0
  37. data/lib/active_model_serializers/adapter/json_api/jsonapi.rb +51 -0
  38. data/lib/active_model_serializers/adapter/json_api/link.rb +85 -0
  39. data/lib/active_model_serializers/adapter/json_api/meta.rb +39 -0
  40. data/lib/active_model_serializers/adapter/json_api/pagination_links.rb +94 -0
  41. data/lib/active_model_serializers/adapter/json_api/relationship.rb +106 -0
  42. data/lib/active_model_serializers/adapter/json_api/resource_identifier.rb +68 -0
  43. data/lib/active_model_serializers/adapter/json_api.rb +535 -0
  44. data/lib/active_model_serializers/adapter/null.rb +11 -0
  45. data/lib/active_model_serializers/adapter.rb +100 -0
  46. data/lib/active_model_serializers/callbacks.rb +57 -0
  47. data/lib/active_model_serializers/deprecate.rb +56 -0
  48. data/lib/active_model_serializers/deserialization.rb +17 -0
  49. data/lib/active_model_serializers/json_pointer.rb +16 -0
  50. data/lib/active_model_serializers/logging.rb +124 -0
  51. data/lib/active_model_serializers/lookup_chain.rb +82 -0
  52. data/lib/active_model_serializers/model.rb +132 -0
  53. data/lib/active_model_serializers/railtie.rb +62 -0
  54. data/lib/active_model_serializers/register_jsonapi_renderer.rb +80 -0
  55. data/lib/active_model_serializers/serializable_resource.rb +84 -0
  56. data/lib/active_model_serializers/serialization_context.rb +41 -0
  57. data/lib/active_model_serializers/test/schema.rb +140 -0
  58. data/lib/active_model_serializers/test/serializer.rb +127 -0
  59. data/lib/active_model_serializers/test.rb +9 -0
  60. data/lib/active_model_serializers.rb +49 -81
  61. data/lib/generators/rails/USAGE +6 -0
  62. data/lib/generators/rails/resource_override.rb +12 -0
  63. data/lib/generators/rails/serializer_generator.rb +38 -0
  64. data/lib/generators/rails/templates/serializer.rb.erb +8 -0
  65. data/lib/grape/active_model_serializers.rb +18 -0
  66. data/lib/grape/formatters/active_model_serializers.rb +34 -0
  67. data/lib/grape/helpers/active_model_serializers.rb +19 -0
  68. data/lib/tasks/rubocop.rake +60 -0
  69. metadata +240 -51
  70. data/.gitignore +0 -18
  71. data/.travis.yml +0 -28
  72. data/DESIGN.textile +0 -586
  73. data/Gemfile +0 -4
  74. data/Gemfile.edge +0 -9
  75. data/Rakefile +0 -18
  76. data/active_model_serializers.gemspec +0 -24
  77. data/bench/perf.rb +0 -43
  78. data/cruft.md +0 -19
  79. data/lib/active_model/array_serializer.rb +0 -104
  80. data/lib/active_model/serializer/associations.rb +0 -233
  81. data/lib/active_model/serializers/version.rb +0 -5
  82. data/lib/active_record/serializer_override.rb +0 -16
  83. data/lib/generators/resource_override.rb +0 -13
  84. data/lib/generators/serializer/USAGE +0 -9
  85. data/lib/generators/serializer/serializer_generator.rb +0 -42
  86. data/lib/generators/serializer/templates/serializer.rb +0 -19
  87. data/test/array_serializer_test.rb +0 -75
  88. data/test/association_test.rb +0 -592
  89. data/test/caching_test.rb +0 -96
  90. data/test/generators_test.rb +0 -85
  91. data/test/no_serialization_scope_test.rb +0 -34
  92. data/test/serialization_scope_name_test.rb +0 -67
  93. data/test/serialization_test.rb +0 -392
  94. data/test/serializer_support_test.rb +0 -51
  95. data/test/serializer_test.rb +0 -1465
  96. data/test/test_fakes.rb +0 -217
  97. data/test/test_helper.rb +0 -32
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_model_serializers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.10.15
5
5
  platform: ruby
6
6
  authors:
7
- - José Valim
8
- - Yehuda Katz
9
- autorequire:
7
+ - Steve Klabnik
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-12-10 00:00:00.000000000 Z
11
+ date: 2024-12-01 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activemodel
@@ -17,30 +16,146 @@ dependencies:
17
16
  requirements:
18
17
  - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: '3.0'
19
+ version: '4.1'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
- version: '3.0'
26
+ version: '4.1'
28
27
  - !ruby/object:Gem::Dependency
29
- name: rails
28
+ name: actionpack
30
29
  requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
31
  - - ">="
33
32
  - !ruby/object:Gem::Version
34
- version: '3.0'
33
+ version: '4.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '4.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: railties
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '4.1'
35
48
  type: :development
36
49
  prerelease: false
37
50
  version_requirements: !ruby/object:Gem::Requirement
38
51
  requirements:
39
52
  - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '4.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.0'
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '5.11'
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '5.0'
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '5.11'
75
+ - !ruby/object:Gem::Dependency
76
+ name: jsonapi-renderer
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 0.1.1.beta1
82
+ - - "<"
83
+ - !ruby/object:Gem::Version
84
+ version: '0.3'
85
+ type: :runtime
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: 0.1.1.beta1
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: '0.3'
95
+ - !ruby/object:Gem::Dependency
96
+ name: case_transform
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0.2'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0.2'
109
+ - !ruby/object:Gem::Dependency
110
+ name: activerecord
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '4.1'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '4.1'
123
+ - !ruby/object:Gem::Dependency
124
+ name: kaminari
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: 0.16.3
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: 0.16.3
137
+ - !ruby/object:Gem::Dependency
138
+ name: will_paginate
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
40
142
  - !ruby/object:Gem::Version
41
143
  version: '3.0'
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: 3.0.7
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '3.0'
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 3.0.7
42
157
  - !ruby/object:Gem::Dependency
43
- name: pry
158
+ name: bundler
44
159
  requirement: !ruby/object:Gem::Requirement
45
160
  requirements:
46
161
  - - ">="
@@ -54,7 +169,35 @@ dependencies:
54
169
  - !ruby/object:Gem::Version
55
170
  version: '0'
56
171
  - !ruby/object:Gem::Dependency
57
- name: minitest
172
+ name: timecop
173
+ requirement: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - "~>"
176
+ - !ruby/object:Gem::Version
177
+ version: '0.7'
178
+ type: :development
179
+ prerelease: false
180
+ version_requirements: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - "~>"
183
+ - !ruby/object:Gem::Version
184
+ version: '0.7'
185
+ - !ruby/object:Gem::Dependency
186
+ name: grape
187
+ requirement: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: '0.13'
192
+ type: :development
193
+ prerelease: false
194
+ version_requirements: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: '0.13'
199
+ - !ruby/object:Gem::Dependency
200
+ name: json_schema
58
201
  requirement: !ruby/object:Gem::Requirement
59
202
  requirements:
60
203
  - - ">="
@@ -67,52 +210,100 @@ dependencies:
67
210
  - - ">="
68
211
  - !ruby/object:Gem::Version
69
212
  version: '0'
70
- description: Making it easy to serialize models for client-side use
213
+ - !ruby/object:Gem::Dependency
214
+ name: rake
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ version: '10.0'
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ version: '10.0'
227
+ description: ActiveModel::Serializers allows you to generate your JSON in an object-oriented
228
+ and convention-driven manner.
71
229
  email:
72
- - jose.valim@gmail.com
73
- - wycats@gmail.com
230
+ - steve@steveklabnik.com
74
231
  executables: []
75
232
  extensions: []
76
233
  extra_rdoc_files: []
77
234
  files:
78
- - ".gitignore"
79
- - ".travis.yml"
80
235
  - CHANGELOG.md
81
- - DESIGN.textile
82
- - Gemfile
83
- - Gemfile.edge
84
- - MIT-LICENSE.txt
236
+ - MIT-LICENSE
85
237
  - README.md
86
- - Rakefile
87
- - active_model_serializers.gemspec
88
- - bench/perf.rb
89
- - cruft.md
90
238
  - lib/action_controller/serialization.rb
91
- - lib/active_model/array_serializer.rb
239
+ - lib/active_model/serializable_resource.rb
92
240
  - lib/active_model/serializer.rb
93
- - lib/active_model/serializer/associations.rb
94
- - lib/active_model/serializers/version.rb
241
+ - lib/active_model/serializer/adapter.rb
242
+ - lib/active_model/serializer/adapter/attributes.rb
243
+ - lib/active_model/serializer/adapter/base.rb
244
+ - lib/active_model/serializer/adapter/json.rb
245
+ - lib/active_model/serializer/adapter/json_api.rb
246
+ - lib/active_model/serializer/adapter/null.rb
247
+ - lib/active_model/serializer/array_serializer.rb
248
+ - lib/active_model/serializer/association.rb
249
+ - lib/active_model/serializer/attribute.rb
250
+ - lib/active_model/serializer/belongs_to_reflection.rb
251
+ - lib/active_model/serializer/collection_serializer.rb
252
+ - lib/active_model/serializer/concerns/caching.rb
253
+ - lib/active_model/serializer/error_serializer.rb
254
+ - lib/active_model/serializer/errors_serializer.rb
255
+ - lib/active_model/serializer/field.rb
256
+ - lib/active_model/serializer/fieldset.rb
257
+ - lib/active_model/serializer/has_many_reflection.rb
258
+ - lib/active_model/serializer/has_one_reflection.rb
259
+ - lib/active_model/serializer/lazy_association.rb
260
+ - lib/active_model/serializer/link.rb
261
+ - lib/active_model/serializer/lint.rb
262
+ - lib/active_model/serializer/null.rb
263
+ - lib/active_model/serializer/reflection.rb
264
+ - lib/active_model/serializer/version.rb
95
265
  - lib/active_model_serializers.rb
96
- - lib/active_record/serializer_override.rb
97
- - lib/generators/resource_override.rb
98
- - lib/generators/serializer/USAGE
99
- - lib/generators/serializer/serializer_generator.rb
100
- - lib/generators/serializer/templates/serializer.rb
101
- - test/array_serializer_test.rb
102
- - test/association_test.rb
103
- - test/caching_test.rb
104
- - test/generators_test.rb
105
- - test/no_serialization_scope_test.rb
106
- - test/serialization_scope_name_test.rb
107
- - test/serialization_test.rb
108
- - test/serializer_support_test.rb
109
- - test/serializer_test.rb
110
- - test/test_fakes.rb
111
- - test/test_helper.rb
266
+ - lib/active_model_serializers/adapter.rb
267
+ - lib/active_model_serializers/adapter/attributes.rb
268
+ - lib/active_model_serializers/adapter/base.rb
269
+ - lib/active_model_serializers/adapter/json.rb
270
+ - lib/active_model_serializers/adapter/json_api.rb
271
+ - lib/active_model_serializers/adapter/json_api/deserialization.rb
272
+ - lib/active_model_serializers/adapter/json_api/error.rb
273
+ - lib/active_model_serializers/adapter/json_api/jsonapi.rb
274
+ - lib/active_model_serializers/adapter/json_api/link.rb
275
+ - lib/active_model_serializers/adapter/json_api/meta.rb
276
+ - lib/active_model_serializers/adapter/json_api/pagination_links.rb
277
+ - lib/active_model_serializers/adapter/json_api/relationship.rb
278
+ - lib/active_model_serializers/adapter/json_api/resource_identifier.rb
279
+ - lib/active_model_serializers/adapter/null.rb
280
+ - lib/active_model_serializers/callbacks.rb
281
+ - lib/active_model_serializers/deprecate.rb
282
+ - lib/active_model_serializers/deserialization.rb
283
+ - lib/active_model_serializers/json_pointer.rb
284
+ - lib/active_model_serializers/logging.rb
285
+ - lib/active_model_serializers/lookup_chain.rb
286
+ - lib/active_model_serializers/model.rb
287
+ - lib/active_model_serializers/railtie.rb
288
+ - lib/active_model_serializers/register_jsonapi_renderer.rb
289
+ - lib/active_model_serializers/serializable_resource.rb
290
+ - lib/active_model_serializers/serialization_context.rb
291
+ - lib/active_model_serializers/test.rb
292
+ - lib/active_model_serializers/test/schema.rb
293
+ - lib/active_model_serializers/test/serializer.rb
294
+ - lib/generators/rails/USAGE
295
+ - lib/generators/rails/resource_override.rb
296
+ - lib/generators/rails/serializer_generator.rb
297
+ - lib/generators/rails/templates/serializer.rb.erb
298
+ - lib/grape/active_model_serializers.rb
299
+ - lib/grape/formatters/active_model_serializers.rb
300
+ - lib/grape/helpers/active_model_serializers.rb
301
+ - lib/tasks/rubocop.rake
112
302
  homepage: https://github.com/rails-api/active_model_serializers
113
- licenses: []
303
+ licenses:
304
+ - MIT
114
305
  metadata: {}
115
- post_install_message:
306
+ post_install_message:
116
307
  rdoc_options: []
117
308
  require_paths:
118
309
  - lib
@@ -120,17 +311,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
120
311
  requirements:
121
312
  - - ">="
122
313
  - !ruby/object:Gem::Version
123
- version: '0'
314
+ version: '2.1'
124
315
  required_rubygems_version: !ruby/object:Gem::Requirement
125
316
  requirements:
126
317
  - - ">="
127
318
  - !ruby/object:Gem::Version
128
319
  version: '0'
129
320
  requirements: []
130
- rubyforge_project:
131
- rubygems_version: 2.2.2
132
- signing_key:
321
+ rubygems_version: 3.3.7
322
+ signing_key:
133
323
  specification_version: 4
134
- summary: Bringing consistency and object orientation to model serialization. Works
135
- great for client-side MVC frameworks!
324
+ summary: Conventions-based JSON generation for Rails.
136
325
  test_files: []
data/.gitignore DELETED
@@ -1,18 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- *.swp
data/.travis.yml DELETED
@@ -1,28 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.8.7
4
- - 1.9.2
5
- - 1.9.3
6
- - 2.0.0
7
- - ree
8
- - jruby-18mode
9
- - jruby-19mode
10
- - rbx-2
11
- gemfile:
12
- - Gemfile
13
- - Gemfile.edge
14
- matrix:
15
- allow_failures:
16
- - gemfile: Gemfile.edge
17
- exclude:
18
- # Edge Rails is only compatible with 1.9.3
19
- - gemfile: Gemfile.edge
20
- rvm: 1.8.7
21
- - gemfile: Gemfile.edge
22
- rvm: 1.9.2
23
- - gemfile: Gemfile.edge
24
- rvm: ree
25
- - gemfile: Gemfile.edge
26
- rvm: jruby-18mode
27
- - gemfile: Gemfile.edge
28
- rvm: rbx-18mode