agi_active_model_serializers 0.10.7

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 (220) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE.md +29 -0
  3. data/.github/PULL_REQUEST_TEMPLATE.md +15 -0
  4. data/.gitignore +35 -0
  5. data/.rubocop.yml +102 -0
  6. data/.simplecov +110 -0
  7. data/.travis.yml +51 -0
  8. data/CHANGELOG.md +612 -0
  9. data/CODE_OF_CONDUCT.md +74 -0
  10. data/CONTRIBUTING.md +105 -0
  11. data/Gemfile +56 -0
  12. data/MIT-LICENSE +22 -0
  13. data/README.md +307 -0
  14. data/Rakefile +103 -0
  15. data/active_model_serializers.gemspec +63 -0
  16. data/appveyor.yml +24 -0
  17. data/bin/bench +171 -0
  18. data/bin/bench_regression +316 -0
  19. data/bin/serve_benchmark +39 -0
  20. data/docs/README.md +41 -0
  21. data/docs/STYLE.md +58 -0
  22. data/docs/general/adapters.md +247 -0
  23. data/docs/general/caching.md +58 -0
  24. data/docs/general/configuration_options.md +169 -0
  25. data/docs/general/deserialization.md +100 -0
  26. data/docs/general/fields.md +31 -0
  27. data/docs/general/getting_started.md +133 -0
  28. data/docs/general/instrumentation.md +40 -0
  29. data/docs/general/key_transforms.md +40 -0
  30. data/docs/general/logging.md +14 -0
  31. data/docs/general/rendering.md +279 -0
  32. data/docs/general/serializers.md +461 -0
  33. data/docs/how-open-source-maintained.jpg +0 -0
  34. data/docs/howto/add_pagination_links.md +138 -0
  35. data/docs/howto/add_relationship_links.md +137 -0
  36. data/docs/howto/add_root_key.md +55 -0
  37. data/docs/howto/grape_integration.md +42 -0
  38. data/docs/howto/outside_controller_use.md +65 -0
  39. data/docs/howto/passing_arbitrary_options.md +27 -0
  40. data/docs/howto/serialize_poro.md +32 -0
  41. data/docs/howto/test.md +154 -0
  42. data/docs/howto/upgrade_from_0_8_to_0_10.md +265 -0
  43. data/docs/integrations/ember-and-json-api.md +144 -0
  44. data/docs/integrations/grape.md +19 -0
  45. data/docs/jsonapi/errors.md +56 -0
  46. data/docs/jsonapi/schema.md +151 -0
  47. data/docs/jsonapi/schema/schema.json +366 -0
  48. data/docs/rfcs/0000-namespace.md +106 -0
  49. data/docs/rfcs/template.md +15 -0
  50. data/lib/action_controller/serialization.rb +66 -0
  51. data/lib/active_model/serializable_resource.rb +11 -0
  52. data/lib/active_model/serializer.rb +231 -0
  53. data/lib/active_model/serializer/adapter.rb +24 -0
  54. data/lib/active_model/serializer/adapter/attributes.rb +15 -0
  55. data/lib/active_model/serializer/adapter/base.rb +18 -0
  56. data/lib/active_model/serializer/adapter/json.rb +15 -0
  57. data/lib/active_model/serializer/adapter/json_api.rb +15 -0
  58. data/lib/active_model/serializer/adapter/null.rb +15 -0
  59. data/lib/active_model/serializer/array_serializer.rb +12 -0
  60. data/lib/active_model/serializer/association.rb +34 -0
  61. data/lib/active_model/serializer/attribute.rb +25 -0
  62. data/lib/active_model/serializer/belongs_to_reflection.rb +7 -0
  63. data/lib/active_model/serializer/collection_reflection.rb +7 -0
  64. data/lib/active_model/serializer/collection_serializer.rb +87 -0
  65. data/lib/active_model/serializer/concerns/associations.rb +102 -0
  66. data/lib/active_model/serializer/concerns/attributes.rb +82 -0
  67. data/lib/active_model/serializer/concerns/caching.rb +292 -0
  68. data/lib/active_model/serializer/concerns/configuration.rb +59 -0
  69. data/lib/active_model/serializer/concerns/links.rb +35 -0
  70. data/lib/active_model/serializer/concerns/meta.rb +29 -0
  71. data/lib/active_model/serializer/concerns/type.rb +25 -0
  72. data/lib/active_model/serializer/error_serializer.rb +14 -0
  73. data/lib/active_model/serializer/errors_serializer.rb +32 -0
  74. data/lib/active_model/serializer/field.rb +90 -0
  75. data/lib/active_model/serializer/fieldset.rb +31 -0
  76. data/lib/active_model/serializer/has_many_reflection.rb +7 -0
  77. data/lib/active_model/serializer/has_one_reflection.rb +7 -0
  78. data/lib/active_model/serializer/lint.rb +150 -0
  79. data/lib/active_model/serializer/null.rb +17 -0
  80. data/lib/active_model/serializer/reflection.rb +163 -0
  81. data/lib/active_model/serializer/singular_reflection.rb +7 -0
  82. data/lib/active_model/serializer/version.rb +5 -0
  83. data/lib/active_model_serializers.rb +53 -0
  84. data/lib/active_model_serializers/adapter.rb +98 -0
  85. data/lib/active_model_serializers/adapter/attributes.rb +13 -0
  86. data/lib/active_model_serializers/adapter/base.rb +83 -0
  87. data/lib/active_model_serializers/adapter/json.rb +21 -0
  88. data/lib/active_model_serializers/adapter/json_api.rb +517 -0
  89. data/lib/active_model_serializers/adapter/json_api/deserialization.rb +213 -0
  90. data/lib/active_model_serializers/adapter/json_api/error.rb +96 -0
  91. data/lib/active_model_serializers/adapter/json_api/jsonapi.rb +49 -0
  92. data/lib/active_model_serializers/adapter/json_api/link.rb +83 -0
  93. data/lib/active_model_serializers/adapter/json_api/meta.rb +37 -0
  94. data/lib/active_model_serializers/adapter/json_api/pagination_links.rb +69 -0
  95. data/lib/active_model_serializers/adapter/json_api/relationship.rb +63 -0
  96. data/lib/active_model_serializers/adapter/json_api/resource_identifier.rb +51 -0
  97. data/lib/active_model_serializers/adapter/null.rb +9 -0
  98. data/lib/active_model_serializers/callbacks.rb +55 -0
  99. data/lib/active_model_serializers/deprecate.rb +54 -0
  100. data/lib/active_model_serializers/deserialization.rb +15 -0
  101. data/lib/active_model_serializers/json_pointer.rb +14 -0
  102. data/lib/active_model_serializers/logging.rb +122 -0
  103. data/lib/active_model_serializers/lookup_chain.rb +80 -0
  104. data/lib/active_model_serializers/model.rb +71 -0
  105. data/lib/active_model_serializers/railtie.rb +48 -0
  106. data/lib/active_model_serializers/register_jsonapi_renderer.rb +78 -0
  107. data/lib/active_model_serializers/serializable_resource.rb +82 -0
  108. data/lib/active_model_serializers/serialization_context.rb +39 -0
  109. data/lib/active_model_serializers/test.rb +7 -0
  110. data/lib/active_model_serializers/test/schema.rb +138 -0
  111. data/lib/active_model_serializers/test/serializer.rb +125 -0
  112. data/lib/generators/rails/USAGE +6 -0
  113. data/lib/generators/rails/resource_override.rb +10 -0
  114. data/lib/generators/rails/serializer_generator.rb +36 -0
  115. data/lib/generators/rails/templates/serializer.rb.erb +15 -0
  116. data/lib/grape/active_model_serializers.rb +16 -0
  117. data/lib/grape/formatters/active_model_serializers.rb +32 -0
  118. data/lib/grape/helpers/active_model_serializers.rb +17 -0
  119. data/test/action_controller/adapter_selector_test.rb +53 -0
  120. data/test/action_controller/explicit_serializer_test.rb +135 -0
  121. data/test/action_controller/json/include_test.rb +246 -0
  122. data/test/action_controller/json_api/deserialization_test.rb +112 -0
  123. data/test/action_controller/json_api/errors_test.rb +40 -0
  124. data/test/action_controller/json_api/fields_test.rb +66 -0
  125. data/test/action_controller/json_api/linked_test.rb +202 -0
  126. data/test/action_controller/json_api/pagination_test.rb +116 -0
  127. data/test/action_controller/json_api/transform_test.rb +189 -0
  128. data/test/action_controller/lookup_proc_test.rb +49 -0
  129. data/test/action_controller/namespace_lookup_test.rb +232 -0
  130. data/test/action_controller/serialization_scope_name_test.rb +229 -0
  131. data/test/action_controller/serialization_test.rb +472 -0
  132. data/test/active_model_serializers/adapter_for_test.rb +208 -0
  133. data/test/active_model_serializers/json_pointer_test.rb +22 -0
  134. data/test/active_model_serializers/logging_test.rb +77 -0
  135. data/test/active_model_serializers/model_test.rb +69 -0
  136. data/test/active_model_serializers/railtie_test_isolated.rb +63 -0
  137. data/test/active_model_serializers/register_jsonapi_renderer_test_isolated.rb +161 -0
  138. data/test/active_model_serializers/serialization_context_test_isolated.rb +71 -0
  139. data/test/active_model_serializers/test/schema_test.rb +131 -0
  140. data/test/active_model_serializers/test/serializer_test.rb +62 -0
  141. data/test/active_record_test.rb +9 -0
  142. data/test/adapter/attributes_test.rb +43 -0
  143. data/test/adapter/deprecation_test.rb +100 -0
  144. data/test/adapter/json/belongs_to_test.rb +45 -0
  145. data/test/adapter/json/collection_test.rb +104 -0
  146. data/test/adapter/json/has_many_test.rb +45 -0
  147. data/test/adapter/json/transform_test.rb +93 -0
  148. data/test/adapter/json_api/belongs_to_test.rb +155 -0
  149. data/test/adapter/json_api/collection_test.rb +96 -0
  150. data/test/adapter/json_api/errors_test.rb +76 -0
  151. data/test/adapter/json_api/fields_test.rb +96 -0
  152. data/test/adapter/json_api/has_many_embed_ids_test.rb +43 -0
  153. data/test/adapter/json_api/has_many_explicit_serializer_test.rb +96 -0
  154. data/test/adapter/json_api/has_many_test.rb +165 -0
  155. data/test/adapter/json_api/has_one_test.rb +80 -0
  156. data/test/adapter/json_api/include_data_if_sideloaded_test.rb +168 -0
  157. data/test/adapter/json_api/json_api_test.rb +33 -0
  158. data/test/adapter/json_api/linked_test.rb +413 -0
  159. data/test/adapter/json_api/links_test.rb +95 -0
  160. data/test/adapter/json_api/pagination_links_test.rb +193 -0
  161. data/test/adapter/json_api/parse_test.rb +137 -0
  162. data/test/adapter/json_api/relationship_test.rb +397 -0
  163. data/test/adapter/json_api/resource_identifier_test.rb +110 -0
  164. data/test/adapter/json_api/resource_meta_test.rb +100 -0
  165. data/test/adapter/json_api/toplevel_jsonapi_test.rb +82 -0
  166. data/test/adapter/json_api/transform_test.rb +512 -0
  167. data/test/adapter/json_api/type_test.rb +61 -0
  168. data/test/adapter/json_test.rb +46 -0
  169. data/test/adapter/null_test.rb +22 -0
  170. data/test/adapter/polymorphic_test.rb +171 -0
  171. data/test/adapter_test.rb +67 -0
  172. data/test/array_serializer_test.rb +22 -0
  173. data/test/benchmark/app.rb +65 -0
  174. data/test/benchmark/benchmarking_support.rb +67 -0
  175. data/test/benchmark/bm_active_record.rb +81 -0
  176. data/test/benchmark/bm_adapter.rb +38 -0
  177. data/test/benchmark/bm_caching.rb +119 -0
  178. data/test/benchmark/bm_lookup_chain.rb +83 -0
  179. data/test/benchmark/bm_transform.rb +45 -0
  180. data/test/benchmark/config.ru +3 -0
  181. data/test/benchmark/controllers.rb +83 -0
  182. data/test/benchmark/fixtures.rb +219 -0
  183. data/test/cache_test.rb +595 -0
  184. data/test/collection_serializer_test.rb +123 -0
  185. data/test/fixtures/active_record.rb +113 -0
  186. data/test/fixtures/poro.rb +232 -0
  187. data/test/generators/scaffold_controller_generator_test.rb +24 -0
  188. data/test/generators/serializer_generator_test.rb +74 -0
  189. data/test/grape_test.rb +178 -0
  190. data/test/lint_test.rb +49 -0
  191. data/test/logger_test.rb +20 -0
  192. data/test/poro_test.rb +9 -0
  193. data/test/serializable_resource_test.rb +79 -0
  194. data/test/serializers/association_macros_test.rb +37 -0
  195. data/test/serializers/associations_test.rb +383 -0
  196. data/test/serializers/attribute_test.rb +153 -0
  197. data/test/serializers/attributes_test.rb +52 -0
  198. data/test/serializers/caching_configuration_test_isolated.rb +170 -0
  199. data/test/serializers/configuration_test.rb +32 -0
  200. data/test/serializers/fieldset_test.rb +14 -0
  201. data/test/serializers/meta_test.rb +202 -0
  202. data/test/serializers/options_test.rb +32 -0
  203. data/test/serializers/read_attribute_for_serialization_test.rb +79 -0
  204. data/test/serializers/root_test.rb +21 -0
  205. data/test/serializers/serialization_test.rb +55 -0
  206. data/test/serializers/serializer_for_test.rb +136 -0
  207. data/test/serializers/serializer_for_with_namespace_test.rb +88 -0
  208. data/test/support/custom_schemas/active_model_serializers/test/schema_test/my/index.json +6 -0
  209. data/test/support/isolated_unit.rb +82 -0
  210. data/test/support/rails5_shims.rb +53 -0
  211. data/test/support/rails_app.rb +36 -0
  212. data/test/support/schemas/active_model_serializers/test/schema_test/my/index.json +6 -0
  213. data/test/support/schemas/active_model_serializers/test/schema_test/my/show.json +6 -0
  214. data/test/support/schemas/custom/show.json +7 -0
  215. data/test/support/schemas/hyper_schema.json +93 -0
  216. data/test/support/schemas/render_using_json_api.json +43 -0
  217. data/test/support/schemas/simple_json_pointers.json +10 -0
  218. data/test/support/serialization_testing.rb +71 -0
  219. data/test/test_helper.rb +58 -0
  220. metadata +602 -0
@@ -0,0 +1,53 @@
1
+ module Rails5Shims
2
+ module ControllerTests
3
+ # https://github.com/rails/rails/blob/b217354/actionpack/lib/action_controller/test_case.rb
4
+ REQUEST_KWARGS = [:params, :headers, :session, :flash, :method, :body, :xhr].freeze
5
+
6
+ def get(path, *args)
7
+ fold_kwargs!(args)
8
+ super
9
+ end
10
+
11
+ def post(path, *args)
12
+ fold_kwargs!(args)
13
+ super
14
+ end
15
+
16
+ def patch(path, *args)
17
+ fold_kwargs!(args)
18
+ super
19
+ end
20
+
21
+ def put(path, *args)
22
+ fold_kwargs!(args)
23
+ super
24
+ end
25
+
26
+ # Fold kwargs from test request into args
27
+ # Band-aid for DEPRECATION WARNING
28
+ def fold_kwargs!(args)
29
+ hash = args && args[0]
30
+ return unless hash.respond_to?(:key)
31
+ Rails5Shims::ControllerTests::REQUEST_KWARGS.each do |kwarg|
32
+ next unless hash.key?(kwarg)
33
+ value = hash.delete(kwarg)
34
+ if value.is_a? String
35
+ args.insert(0, value)
36
+ else
37
+ hash.merge! value
38
+ end
39
+ end
40
+ end
41
+
42
+ # Uncomment for debugging where the kwargs warnings come from
43
+ # def non_kwarg_request_warning
44
+ # super.tap do
45
+ # STDOUT.puts caller[2..3]
46
+ # end
47
+ # end
48
+ end
49
+ end
50
+ if Rails::VERSION::MAJOR < 5
51
+ ActionController::TestCase.send :include, Rails5Shims::ControllerTests
52
+ ActionDispatch::IntegrationTest.send :include, Rails5Shims::ControllerTests
53
+ end
@@ -0,0 +1,36 @@
1
+ require 'support/isolated_unit'
2
+ module ActiveModelSerializers
3
+ RailsApplication = TestHelpers::Generation.make_basic_app do |app|
4
+ app.configure do
5
+ config.secret_key_base = 'abc123'
6
+ config.active_support.test_order = :random
7
+ config.action_controller.perform_caching = true
8
+ config.action_controller.cache_store = :memory_store
9
+ end
10
+
11
+ app.routes.default_url_options = { host: 'example.com' }
12
+ end
13
+ end
14
+
15
+ Routes = ActionDispatch::Routing::RouteSet.new
16
+ Routes.draw do
17
+ get ':controller(/:action(/:id))'
18
+ get ':controller(/:action)'
19
+ end
20
+ ActionController::Base.send :include, Routes.url_helpers
21
+ ActionController::TestCase.class_eval do
22
+ def setup
23
+ @routes = Routes
24
+ end
25
+ end
26
+
27
+ # ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
28
+ # ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
29
+ #
30
+ # Load fixtures from the engine
31
+ # if ActiveSupport::TestCase.respond_to?(:fixture_path=)
32
+ # ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
33
+ # ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
34
+ # ActiveSupport::TestCase.file_fixture_path = ActiveSupport::TestCase.fixture_path + "/files"
35
+ # ActiveSupport::TestCase.fixtures :all
36
+ # end
@@ -0,0 +1,6 @@
1
+ {
2
+ "properties": {
3
+ "name" : { "type" : "string" },
4
+ "description" : { "type" : "string" }
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "properties": {
3
+ "name" : { "type" : "integer" },
4
+ "description" : { "type" : "boolean" }
5
+ }
6
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "id": "file://custom/show.json#",
3
+ "properties": {
4
+ "name" : { "type" : "string" },
5
+ "description" : { "type" : "string" }
6
+ }
7
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
3
+ "title": "Profile",
4
+ "description": "Profile schema",
5
+ "stability": "prototype",
6
+ "strictProperties": true,
7
+ "type": [
8
+ "object"
9
+ ],
10
+ "definitions": {
11
+ "name": {
12
+ "description": "unique name of profile",
13
+ "readOnly": true,
14
+ "type": [
15
+ "string"
16
+ ]
17
+ },
18
+ "description": {
19
+ "description": "description of profile",
20
+ "readOnly": true,
21
+ "type": [
22
+ "string"
23
+ ]
24
+ },
25
+ "identity": {
26
+ "anyOf": [
27
+ {
28
+ "$ref": "/schemata/profile#/definitions/name"
29
+ }
30
+ ]
31
+ }
32
+ },
33
+ "links": [
34
+ {
35
+ "description": "Create a new profile.",
36
+ "href": "/profiles",
37
+ "method": "POST",
38
+ "rel": "create",
39
+ "schema": {
40
+ "properties": {
41
+ },
42
+ "type": [
43
+ "object"
44
+ ]
45
+ },
46
+ "title": "Create"
47
+ },
48
+ {
49
+ "description": "Delete an existing profile.",
50
+ "href": "/profiles/{(%2Fschemata%2Fprofile%23%2Fdefinitions%2Fidentity)}",
51
+ "method": "DELETE",
52
+ "rel": "destroy",
53
+ "title": "Delete"
54
+ },
55
+ {
56
+ "description": "Info for existing profile.",
57
+ "href": "/profiles/{(%2Fschemata%2Fprofile%23%2Fdefinitions%2Fidentity)}",
58
+ "method": "GET",
59
+ "rel": "self",
60
+ "title": "Info"
61
+ },
62
+ {
63
+ "description": "List existing profiles.",
64
+ "href": "/profiles",
65
+ "method": "GET",
66
+ "rel": "instances",
67
+ "title": "List"
68
+ },
69
+ {
70
+ "description": "Update an existing profile.",
71
+ "href": "/profiles/{(%2Fschemata%2Fprofile%23%2Fdefinitions%2Fidentity)}",
72
+ "method": "PATCH",
73
+ "rel": "update",
74
+ "schema": {
75
+ "properties": {
76
+ },
77
+ "type": [
78
+ "object"
79
+ ]
80
+ },
81
+ "title": "Update"
82
+ }
83
+ ],
84
+ "properties": {
85
+ "name": {
86
+ "$ref": "/schemata/profile#/definitions/name"
87
+ },
88
+ "description": {
89
+ "$ref": "/schemata/profile#/definitions/description"
90
+ }
91
+ },
92
+ "id": "/schemata/profile"
93
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id": "",
4
+ "type": "object",
5
+ "properties": {
6
+ "data": {
7
+ "id": "/data",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "id": "/data/id",
12
+ "type": "string"
13
+ },
14
+ "type": {
15
+ "id": "/data/type",
16
+ "type": "string"
17
+ },
18
+ "attributes": {
19
+ "id": "/data/attributes",
20
+ "type": "object",
21
+ "properties": {
22
+ "name": {
23
+ "id": "/data/attributes/name",
24
+ "type": "string"
25
+ },
26
+ "description": {
27
+ "id": "/data/attributes/description",
28
+ "type": "string"
29
+ }
30
+ }
31
+ }
32
+ },
33
+ "required": [
34
+ "id",
35
+ "type",
36
+ "attributes"
37
+ ]
38
+ }
39
+ },
40
+ "required": [
41
+ "data"
42
+ ]
43
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "properties": {
3
+ "name": {
4
+ "$ref": "file://custom/show.json#/properties/name"
5
+ },
6
+ "description": {
7
+ "$ref": "file://custom/show.json#/properties/description"
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,71 @@
1
+ module SerializationTesting
2
+ def config
3
+ ActiveModelSerializers.config
4
+ end
5
+
6
+ private
7
+
8
+ def generate_cached_serializer(obj)
9
+ ActiveModelSerializers::SerializableResource.new(obj).to_json
10
+ end
11
+
12
+ def with_namespace_separator(separator)
13
+ original_separator = ActiveModelSerializers.config.jsonapi_namespace_separator
14
+ ActiveModelSerializers.config.jsonapi_namespace_separator = separator
15
+ yield
16
+ ensure
17
+ ActiveModelSerializers.config.jsonapi_namespace_separator = original_separator
18
+ end
19
+
20
+ def with_prepended_lookup(lookup_proc)
21
+ original_lookup = ActiveModelSerializers.config.serializer_lookup_cahin
22
+ ActiveModelSerializers.config.serializer_lookup_chain.unshift lookup_proc
23
+ yield
24
+ ensure
25
+ ActiveModelSerializers.config.serializer_lookup_cahin = original_lookup
26
+ end
27
+
28
+ # Aliased as :with_configured_adapter to clarify that
29
+ # this method tests the configured adapter.
30
+ # When not testing configuration, it may be preferable
31
+ # to pass in the +adapter+ option to <tt>ActiveModelSerializers::SerializableResource</tt>.
32
+ # e.g ActiveModelSerializers::SerializableResource.new(resource, adapter: :json_api)
33
+ def with_adapter(adapter)
34
+ old_adapter = ActiveModelSerializers.config.adapter
35
+ ActiveModelSerializers.config.adapter = adapter
36
+ yield
37
+ ensure
38
+ ActiveModelSerializers.config.adapter = old_adapter
39
+ end
40
+ alias with_configured_adapter with_adapter
41
+
42
+ def with_config(hash)
43
+ old_config = config.dup
44
+ ActiveModelSerializers.config.update(hash)
45
+ yield
46
+ ensure
47
+ ActiveModelSerializers.config.replace(old_config)
48
+ end
49
+
50
+ def with_serializer_lookup_disabled
51
+ original_serializer_lookup = ActiveModelSerializers.config.serializer_lookup_enabled
52
+ ActiveModelSerializers.config.serializer_lookup_enabled = false
53
+ yield
54
+ ensure
55
+ ActiveModelSerializers.config.serializer_lookup_enabled = original_serializer_lookup
56
+ end
57
+
58
+ def serializable(resource, options = {})
59
+ ActiveModelSerializers::SerializableResource.new(resource, options)
60
+ end
61
+ end
62
+
63
+ module Minitest
64
+ class Test
65
+ def before_setup
66
+ ActionController::Base.cache_store.clear
67
+ end
68
+
69
+ include SerializationTesting
70
+ end
71
+ end
@@ -0,0 +1,58 @@
1
+ # Configure Rails Environment
2
+ ENV['RAILS_ENV'] = 'test'
3
+ require 'bundler/setup'
4
+
5
+ begin
6
+ require 'simplecov'
7
+ AppCoverage.start
8
+ rescue LoadError
9
+ STDERR.puts 'Running without SimpleCov'
10
+ end
11
+
12
+ require 'pry'
13
+ require 'timecop'
14
+ require 'rails'
15
+ require 'action_controller'
16
+ require 'action_controller/test_case'
17
+ require 'action_controller/railtie'
18
+ require 'active_model_serializers'
19
+ # For now, we only restrict the options to serializable_hash/as_json/to_json
20
+ # in tests, to ensure developers don't add any unsupported options.
21
+ # There's no known benefit, at this time, to having the filtering run in
22
+ # production when the excluded options would simply not be used.
23
+ #
24
+ # However, for documentation purposes, the constant
25
+ # ActiveModel::Serializer::SERIALIZABLE_HASH_VALID_KEYS is defined
26
+ # in the Serializer.
27
+ ActiveModelSerializers::Adapter::Base.class_eval do
28
+ alias_method :original_serialization_options, :serialization_options
29
+
30
+ def serialization_options(options)
31
+ original_serialization_options(options)
32
+ .slice(*ActiveModel::Serializer::SERIALIZABLE_HASH_VALID_KEYS)
33
+ end
34
+ end
35
+ require 'fileutils'
36
+ FileUtils.mkdir_p(File.expand_path('../../tmp/cache', __FILE__))
37
+
38
+ gem 'minitest'
39
+ require 'minitest'
40
+ require 'minitest/autorun'
41
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
42
+
43
+ require 'support/rails_app'
44
+
45
+ # require "rails/test_help"
46
+
47
+ require 'support/serialization_testing'
48
+
49
+ require 'support/rails5_shims'
50
+
51
+ require 'fixtures/active_record'
52
+
53
+ require 'fixtures/poro'
54
+
55
+ ActiveSupport.on_load(:action_controller) do
56
+ $action_controller_logger = ActiveModelSerializers.logger
57
+ ActiveModelSerializers.logger = Logger.new(IO::NULL)
58
+ end
metadata ADDED
@@ -0,0 +1,602 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: agi_active_model_serializers
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.10.7
5
+ platform: ruby
6
+ authors:
7
+ - Jim Jin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-01-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activemodel
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '4.1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '6'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '4.1'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '6'
33
+ - !ruby/object:Gem::Dependency
34
+ name: actionpack
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '4.1'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '6'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '4.1'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '6'
53
+ - !ruby/object:Gem::Dependency
54
+ name: railties
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '4.1'
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '6'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '4.1'
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '6'
73
+ - !ruby/object:Gem::Dependency
74
+ name: jsonapi
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - '='
78
+ - !ruby/object:Gem::Version
79
+ version: 0.1.1.beta6
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - '='
85
+ - !ruby/object:Gem::Version
86
+ version: 0.1.1.beta6
87
+ - !ruby/object:Gem::Dependency
88
+ name: case_transform
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0.2'
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0.2'
101
+ - !ruby/object:Gem::Dependency
102
+ name: activerecord
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: '4.1'
108
+ - - "<"
109
+ - !ruby/object:Gem::Version
110
+ version: '6'
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '4.1'
118
+ - - "<"
119
+ - !ruby/object:Gem::Version
120
+ version: '6'
121
+ - !ruby/object:Gem::Dependency
122
+ name: kaminari
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: 0.16.3
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: 0.16.3
135
+ - !ruby/object:Gem::Dependency
136
+ name: will_paginate
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '3.0'
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 3.0.7
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '3.0'
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 3.0.7
155
+ - !ruby/object:Gem::Dependency
156
+ name: bundler
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: '1.6'
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: '1.6'
169
+ - !ruby/object:Gem::Dependency
170
+ name: simplecov
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '0.11'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '0.11'
183
+ - !ruby/object:Gem::Dependency
184
+ name: timecop
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '0.7'
190
+ type: :development
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: '0.7'
197
+ - !ruby/object:Gem::Dependency
198
+ name: grape
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0.13'
204
+ - - "<"
205
+ - !ruby/object:Gem::Version
206
+ version: '1.0'
207
+ type: :development
208
+ prerelease: false
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '0.13'
214
+ - - "<"
215
+ - !ruby/object:Gem::Version
216
+ version: '1.0'
217
+ - !ruby/object:Gem::Dependency
218
+ name: json_schema
219
+ requirement: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ type: :development
225
+ prerelease: false
226
+ version_requirements: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ - !ruby/object:Gem::Dependency
232
+ name: rake
233
+ requirement: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '10.0'
238
+ - - "<"
239
+ - !ruby/object:Gem::Version
240
+ version: '12.0'
241
+ type: :development
242
+ prerelease: false
243
+ version_requirements: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: '10.0'
248
+ - - "<"
249
+ - !ruby/object:Gem::Version
250
+ version: '12.0'
251
+ description: ActiveModel::Serializers allows you to generate your JSON in an object-oriented
252
+ and convention-driven manner.
253
+ email:
254
+ - jim.jin2006@gmail.com
255
+ executables: []
256
+ extensions: []
257
+ extra_rdoc_files: []
258
+ files:
259
+ - ".github/ISSUE_TEMPLATE.md"
260
+ - ".github/PULL_REQUEST_TEMPLATE.md"
261
+ - ".gitignore"
262
+ - ".rubocop.yml"
263
+ - ".simplecov"
264
+ - ".travis.yml"
265
+ - CHANGELOG.md
266
+ - CODE_OF_CONDUCT.md
267
+ - CONTRIBUTING.md
268
+ - Gemfile
269
+ - MIT-LICENSE
270
+ - README.md
271
+ - Rakefile
272
+ - active_model_serializers.gemspec
273
+ - appveyor.yml
274
+ - bin/bench
275
+ - bin/bench_regression
276
+ - bin/serve_benchmark
277
+ - docs/README.md
278
+ - docs/STYLE.md
279
+ - docs/general/adapters.md
280
+ - docs/general/caching.md
281
+ - docs/general/configuration_options.md
282
+ - docs/general/deserialization.md
283
+ - docs/general/fields.md
284
+ - docs/general/getting_started.md
285
+ - docs/general/instrumentation.md
286
+ - docs/general/key_transforms.md
287
+ - docs/general/logging.md
288
+ - docs/general/rendering.md
289
+ - docs/general/serializers.md
290
+ - docs/how-open-source-maintained.jpg
291
+ - docs/howto/add_pagination_links.md
292
+ - docs/howto/add_relationship_links.md
293
+ - docs/howto/add_root_key.md
294
+ - docs/howto/grape_integration.md
295
+ - docs/howto/outside_controller_use.md
296
+ - docs/howto/passing_arbitrary_options.md
297
+ - docs/howto/serialize_poro.md
298
+ - docs/howto/test.md
299
+ - docs/howto/upgrade_from_0_8_to_0_10.md
300
+ - docs/integrations/ember-and-json-api.md
301
+ - docs/integrations/grape.md
302
+ - docs/jsonapi/errors.md
303
+ - docs/jsonapi/schema.md
304
+ - docs/jsonapi/schema/schema.json
305
+ - docs/rfcs/0000-namespace.md
306
+ - docs/rfcs/template.md
307
+ - lib/action_controller/serialization.rb
308
+ - lib/active_model/serializable_resource.rb
309
+ - lib/active_model/serializer.rb
310
+ - lib/active_model/serializer/adapter.rb
311
+ - lib/active_model/serializer/adapter/attributes.rb
312
+ - lib/active_model/serializer/adapter/base.rb
313
+ - lib/active_model/serializer/adapter/json.rb
314
+ - lib/active_model/serializer/adapter/json_api.rb
315
+ - lib/active_model/serializer/adapter/null.rb
316
+ - lib/active_model/serializer/array_serializer.rb
317
+ - lib/active_model/serializer/association.rb
318
+ - lib/active_model/serializer/attribute.rb
319
+ - lib/active_model/serializer/belongs_to_reflection.rb
320
+ - lib/active_model/serializer/collection_reflection.rb
321
+ - lib/active_model/serializer/collection_serializer.rb
322
+ - lib/active_model/serializer/concerns/associations.rb
323
+ - lib/active_model/serializer/concerns/attributes.rb
324
+ - lib/active_model/serializer/concerns/caching.rb
325
+ - lib/active_model/serializer/concerns/configuration.rb
326
+ - lib/active_model/serializer/concerns/links.rb
327
+ - lib/active_model/serializer/concerns/meta.rb
328
+ - lib/active_model/serializer/concerns/type.rb
329
+ - lib/active_model/serializer/error_serializer.rb
330
+ - lib/active_model/serializer/errors_serializer.rb
331
+ - lib/active_model/serializer/field.rb
332
+ - lib/active_model/serializer/fieldset.rb
333
+ - lib/active_model/serializer/has_many_reflection.rb
334
+ - lib/active_model/serializer/has_one_reflection.rb
335
+ - lib/active_model/serializer/lint.rb
336
+ - lib/active_model/serializer/null.rb
337
+ - lib/active_model/serializer/reflection.rb
338
+ - lib/active_model/serializer/singular_reflection.rb
339
+ - lib/active_model/serializer/version.rb
340
+ - lib/active_model_serializers.rb
341
+ - lib/active_model_serializers/adapter.rb
342
+ - lib/active_model_serializers/adapter/attributes.rb
343
+ - lib/active_model_serializers/adapter/base.rb
344
+ - lib/active_model_serializers/adapter/json.rb
345
+ - lib/active_model_serializers/adapter/json_api.rb
346
+ - lib/active_model_serializers/adapter/json_api/deserialization.rb
347
+ - lib/active_model_serializers/adapter/json_api/error.rb
348
+ - lib/active_model_serializers/adapter/json_api/jsonapi.rb
349
+ - lib/active_model_serializers/adapter/json_api/link.rb
350
+ - lib/active_model_serializers/adapter/json_api/meta.rb
351
+ - lib/active_model_serializers/adapter/json_api/pagination_links.rb
352
+ - lib/active_model_serializers/adapter/json_api/relationship.rb
353
+ - lib/active_model_serializers/adapter/json_api/resource_identifier.rb
354
+ - lib/active_model_serializers/adapter/null.rb
355
+ - lib/active_model_serializers/callbacks.rb
356
+ - lib/active_model_serializers/deprecate.rb
357
+ - lib/active_model_serializers/deserialization.rb
358
+ - lib/active_model_serializers/json_pointer.rb
359
+ - lib/active_model_serializers/logging.rb
360
+ - lib/active_model_serializers/lookup_chain.rb
361
+ - lib/active_model_serializers/model.rb
362
+ - lib/active_model_serializers/railtie.rb
363
+ - lib/active_model_serializers/register_jsonapi_renderer.rb
364
+ - lib/active_model_serializers/serializable_resource.rb
365
+ - lib/active_model_serializers/serialization_context.rb
366
+ - lib/active_model_serializers/test.rb
367
+ - lib/active_model_serializers/test/schema.rb
368
+ - lib/active_model_serializers/test/serializer.rb
369
+ - lib/generators/rails/USAGE
370
+ - lib/generators/rails/resource_override.rb
371
+ - lib/generators/rails/serializer_generator.rb
372
+ - lib/generators/rails/templates/serializer.rb.erb
373
+ - lib/grape/active_model_serializers.rb
374
+ - lib/grape/formatters/active_model_serializers.rb
375
+ - lib/grape/helpers/active_model_serializers.rb
376
+ - test/action_controller/adapter_selector_test.rb
377
+ - test/action_controller/explicit_serializer_test.rb
378
+ - test/action_controller/json/include_test.rb
379
+ - test/action_controller/json_api/deserialization_test.rb
380
+ - test/action_controller/json_api/errors_test.rb
381
+ - test/action_controller/json_api/fields_test.rb
382
+ - test/action_controller/json_api/linked_test.rb
383
+ - test/action_controller/json_api/pagination_test.rb
384
+ - test/action_controller/json_api/transform_test.rb
385
+ - test/action_controller/lookup_proc_test.rb
386
+ - test/action_controller/namespace_lookup_test.rb
387
+ - test/action_controller/serialization_scope_name_test.rb
388
+ - test/action_controller/serialization_test.rb
389
+ - test/active_model_serializers/adapter_for_test.rb
390
+ - test/active_model_serializers/json_pointer_test.rb
391
+ - test/active_model_serializers/logging_test.rb
392
+ - test/active_model_serializers/model_test.rb
393
+ - test/active_model_serializers/railtie_test_isolated.rb
394
+ - test/active_model_serializers/register_jsonapi_renderer_test_isolated.rb
395
+ - test/active_model_serializers/serialization_context_test_isolated.rb
396
+ - test/active_model_serializers/test/schema_test.rb
397
+ - test/active_model_serializers/test/serializer_test.rb
398
+ - test/active_record_test.rb
399
+ - test/adapter/attributes_test.rb
400
+ - test/adapter/deprecation_test.rb
401
+ - test/adapter/json/belongs_to_test.rb
402
+ - test/adapter/json/collection_test.rb
403
+ - test/adapter/json/has_many_test.rb
404
+ - test/adapter/json/transform_test.rb
405
+ - test/adapter/json_api/belongs_to_test.rb
406
+ - test/adapter/json_api/collection_test.rb
407
+ - test/adapter/json_api/errors_test.rb
408
+ - test/adapter/json_api/fields_test.rb
409
+ - test/adapter/json_api/has_many_embed_ids_test.rb
410
+ - test/adapter/json_api/has_many_explicit_serializer_test.rb
411
+ - test/adapter/json_api/has_many_test.rb
412
+ - test/adapter/json_api/has_one_test.rb
413
+ - test/adapter/json_api/include_data_if_sideloaded_test.rb
414
+ - test/adapter/json_api/json_api_test.rb
415
+ - test/adapter/json_api/linked_test.rb
416
+ - test/adapter/json_api/links_test.rb
417
+ - test/adapter/json_api/pagination_links_test.rb
418
+ - test/adapter/json_api/parse_test.rb
419
+ - test/adapter/json_api/relationship_test.rb
420
+ - test/adapter/json_api/resource_identifier_test.rb
421
+ - test/adapter/json_api/resource_meta_test.rb
422
+ - test/adapter/json_api/toplevel_jsonapi_test.rb
423
+ - test/adapter/json_api/transform_test.rb
424
+ - test/adapter/json_api/type_test.rb
425
+ - test/adapter/json_test.rb
426
+ - test/adapter/null_test.rb
427
+ - test/adapter/polymorphic_test.rb
428
+ - test/adapter_test.rb
429
+ - test/array_serializer_test.rb
430
+ - test/benchmark/app.rb
431
+ - test/benchmark/benchmarking_support.rb
432
+ - test/benchmark/bm_active_record.rb
433
+ - test/benchmark/bm_adapter.rb
434
+ - test/benchmark/bm_caching.rb
435
+ - test/benchmark/bm_lookup_chain.rb
436
+ - test/benchmark/bm_transform.rb
437
+ - test/benchmark/config.ru
438
+ - test/benchmark/controllers.rb
439
+ - test/benchmark/fixtures.rb
440
+ - test/cache_test.rb
441
+ - test/collection_serializer_test.rb
442
+ - test/fixtures/active_record.rb
443
+ - test/fixtures/poro.rb
444
+ - test/generators/scaffold_controller_generator_test.rb
445
+ - test/generators/serializer_generator_test.rb
446
+ - test/grape_test.rb
447
+ - test/lint_test.rb
448
+ - test/logger_test.rb
449
+ - test/poro_test.rb
450
+ - test/serializable_resource_test.rb
451
+ - test/serializers/association_macros_test.rb
452
+ - test/serializers/associations_test.rb
453
+ - test/serializers/attribute_test.rb
454
+ - test/serializers/attributes_test.rb
455
+ - test/serializers/caching_configuration_test_isolated.rb
456
+ - test/serializers/configuration_test.rb
457
+ - test/serializers/fieldset_test.rb
458
+ - test/serializers/meta_test.rb
459
+ - test/serializers/options_test.rb
460
+ - test/serializers/read_attribute_for_serialization_test.rb
461
+ - test/serializers/root_test.rb
462
+ - test/serializers/serialization_test.rb
463
+ - test/serializers/serializer_for_test.rb
464
+ - test/serializers/serializer_for_with_namespace_test.rb
465
+ - test/support/custom_schemas/active_model_serializers/test/schema_test/my/index.json
466
+ - test/support/isolated_unit.rb
467
+ - test/support/rails5_shims.rb
468
+ - test/support/rails_app.rb
469
+ - test/support/schemas/active_model_serializers/test/schema_test/my/index.json
470
+ - test/support/schemas/active_model_serializers/test/schema_test/my/show.json
471
+ - test/support/schemas/custom/show.json
472
+ - test/support/schemas/hyper_schema.json
473
+ - test/support/schemas/render_using_json_api.json
474
+ - test/support/schemas/simple_json_pointers.json
475
+ - test/support/serialization_testing.rb
476
+ - test/test_helper.rb
477
+ homepage: https://github.com/agideo/active_model_serializers
478
+ licenses:
479
+ - MIT
480
+ metadata: {}
481
+ post_install_message:
482
+ rdoc_options: []
483
+ require_paths:
484
+ - lib
485
+ required_ruby_version: !ruby/object:Gem::Requirement
486
+ requirements:
487
+ - - ">="
488
+ - !ruby/object:Gem::Version
489
+ version: '2.1'
490
+ required_rubygems_version: !ruby/object:Gem::Requirement
491
+ requirements:
492
+ - - ">="
493
+ - !ruby/object:Gem::Version
494
+ version: '0'
495
+ requirements: []
496
+ rubyforge_project:
497
+ rubygems_version: 2.4.5
498
+ signing_key:
499
+ specification_version: 4
500
+ summary: Conventions-based JSON generation for Rails.
501
+ test_files:
502
+ - test/action_controller/adapter_selector_test.rb
503
+ - test/action_controller/explicit_serializer_test.rb
504
+ - test/action_controller/json/include_test.rb
505
+ - test/action_controller/json_api/deserialization_test.rb
506
+ - test/action_controller/json_api/errors_test.rb
507
+ - test/action_controller/json_api/fields_test.rb
508
+ - test/action_controller/json_api/linked_test.rb
509
+ - test/action_controller/json_api/pagination_test.rb
510
+ - test/action_controller/json_api/transform_test.rb
511
+ - test/action_controller/lookup_proc_test.rb
512
+ - test/action_controller/namespace_lookup_test.rb
513
+ - test/action_controller/serialization_scope_name_test.rb
514
+ - test/action_controller/serialization_test.rb
515
+ - test/active_model_serializers/adapter_for_test.rb
516
+ - test/active_model_serializers/json_pointer_test.rb
517
+ - test/active_model_serializers/logging_test.rb
518
+ - test/active_model_serializers/model_test.rb
519
+ - test/active_model_serializers/railtie_test_isolated.rb
520
+ - test/active_model_serializers/register_jsonapi_renderer_test_isolated.rb
521
+ - test/active_model_serializers/serialization_context_test_isolated.rb
522
+ - test/active_model_serializers/test/schema_test.rb
523
+ - test/active_model_serializers/test/serializer_test.rb
524
+ - test/active_record_test.rb
525
+ - test/adapter/attributes_test.rb
526
+ - test/adapter/deprecation_test.rb
527
+ - test/adapter/json/belongs_to_test.rb
528
+ - test/adapter/json/collection_test.rb
529
+ - test/adapter/json/has_many_test.rb
530
+ - test/adapter/json/transform_test.rb
531
+ - test/adapter/json_api/belongs_to_test.rb
532
+ - test/adapter/json_api/collection_test.rb
533
+ - test/adapter/json_api/errors_test.rb
534
+ - test/adapter/json_api/fields_test.rb
535
+ - test/adapter/json_api/has_many_embed_ids_test.rb
536
+ - test/adapter/json_api/has_many_explicit_serializer_test.rb
537
+ - test/adapter/json_api/has_many_test.rb
538
+ - test/adapter/json_api/has_one_test.rb
539
+ - test/adapter/json_api/include_data_if_sideloaded_test.rb
540
+ - test/adapter/json_api/json_api_test.rb
541
+ - test/adapter/json_api/linked_test.rb
542
+ - test/adapter/json_api/links_test.rb
543
+ - test/adapter/json_api/pagination_links_test.rb
544
+ - test/adapter/json_api/parse_test.rb
545
+ - test/adapter/json_api/relationship_test.rb
546
+ - test/adapter/json_api/resource_identifier_test.rb
547
+ - test/adapter/json_api/resource_meta_test.rb
548
+ - test/adapter/json_api/toplevel_jsonapi_test.rb
549
+ - test/adapter/json_api/transform_test.rb
550
+ - test/adapter/json_api/type_test.rb
551
+ - test/adapter/json_test.rb
552
+ - test/adapter/null_test.rb
553
+ - test/adapter/polymorphic_test.rb
554
+ - test/adapter_test.rb
555
+ - test/array_serializer_test.rb
556
+ - test/benchmark/app.rb
557
+ - test/benchmark/benchmarking_support.rb
558
+ - test/benchmark/bm_active_record.rb
559
+ - test/benchmark/bm_adapter.rb
560
+ - test/benchmark/bm_caching.rb
561
+ - test/benchmark/bm_lookup_chain.rb
562
+ - test/benchmark/bm_transform.rb
563
+ - test/benchmark/config.ru
564
+ - test/benchmark/controllers.rb
565
+ - test/benchmark/fixtures.rb
566
+ - test/cache_test.rb
567
+ - test/collection_serializer_test.rb
568
+ - test/fixtures/active_record.rb
569
+ - test/fixtures/poro.rb
570
+ - test/generators/scaffold_controller_generator_test.rb
571
+ - test/generators/serializer_generator_test.rb
572
+ - test/grape_test.rb
573
+ - test/lint_test.rb
574
+ - test/logger_test.rb
575
+ - test/poro_test.rb
576
+ - test/serializable_resource_test.rb
577
+ - test/serializers/association_macros_test.rb
578
+ - test/serializers/associations_test.rb
579
+ - test/serializers/attribute_test.rb
580
+ - test/serializers/attributes_test.rb
581
+ - test/serializers/caching_configuration_test_isolated.rb
582
+ - test/serializers/configuration_test.rb
583
+ - test/serializers/fieldset_test.rb
584
+ - test/serializers/meta_test.rb
585
+ - test/serializers/options_test.rb
586
+ - test/serializers/read_attribute_for_serialization_test.rb
587
+ - test/serializers/root_test.rb
588
+ - test/serializers/serialization_test.rb
589
+ - test/serializers/serializer_for_test.rb
590
+ - test/serializers/serializer_for_with_namespace_test.rb
591
+ - test/support/custom_schemas/active_model_serializers/test/schema_test/my/index.json
592
+ - test/support/isolated_unit.rb
593
+ - test/support/rails5_shims.rb
594
+ - test/support/rails_app.rb
595
+ - test/support/schemas/active_model_serializers/test/schema_test/my/index.json
596
+ - test/support/schemas/active_model_serializers/test/schema_test/my/show.json
597
+ - test/support/schemas/custom/show.json
598
+ - test/support/schemas/hyper_schema.json
599
+ - test/support/schemas/render_using_json_api.json
600
+ - test/support/schemas/simple_json_pointers.json
601
+ - test/support/serialization_testing.rb
602
+ - test/test_helper.rb