active_model_serializers 0.10.8 → 0.10.9

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 (162) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -0
  3. data/.travis.yml +12 -3
  4. data/CHANGELOG.md +14 -1
  5. data/Gemfile +3 -1
  6. data/Rakefile +2 -0
  7. data/active_model_serializers.gemspec +1 -0
  8. data/lib/action_controller/serialization.rb +2 -0
  9. data/lib/active_model/serializable_resource.rb +2 -0
  10. data/lib/active_model/serializer.rb +2 -0
  11. data/lib/active_model/serializer/adapter.rb +2 -0
  12. data/lib/active_model/serializer/adapter/attributes.rb +2 -0
  13. data/lib/active_model/serializer/adapter/base.rb +2 -0
  14. data/lib/active_model/serializer/adapter/json.rb +2 -0
  15. data/lib/active_model/serializer/adapter/json_api.rb +2 -0
  16. data/lib/active_model/serializer/adapter/null.rb +2 -0
  17. data/lib/active_model/serializer/array_serializer.rb +2 -0
  18. data/lib/active_model/serializer/association.rb +2 -0
  19. data/lib/active_model/serializer/attribute.rb +2 -0
  20. data/lib/active_model/serializer/belongs_to_reflection.rb +2 -0
  21. data/lib/active_model/serializer/collection_serializer.rb +2 -0
  22. data/lib/active_model/serializer/concerns/caching.rb +5 -1
  23. data/lib/active_model/serializer/error_serializer.rb +2 -0
  24. data/lib/active_model/serializer/errors_serializer.rb +2 -0
  25. data/lib/active_model/serializer/field.rb +2 -0
  26. data/lib/active_model/serializer/fieldset.rb +2 -0
  27. data/lib/active_model/serializer/has_many_reflection.rb +2 -0
  28. data/lib/active_model/serializer/has_one_reflection.rb +2 -0
  29. data/lib/active_model/serializer/lazy_association.rb +5 -2
  30. data/lib/active_model/serializer/link.rb +2 -0
  31. data/lib/active_model/serializer/lint.rb +2 -0
  32. data/lib/active_model/serializer/null.rb +2 -0
  33. data/lib/active_model/serializer/reflection.rb +2 -0
  34. data/lib/active_model/serializer/version.rb +3 -1
  35. data/lib/active_model_serializers.rb +2 -0
  36. data/lib/active_model_serializers/adapter.rb +3 -1
  37. data/lib/active_model_serializers/adapter/attributes.rb +2 -0
  38. data/lib/active_model_serializers/adapter/base.rb +2 -0
  39. data/lib/active_model_serializers/adapter/json.rb +2 -0
  40. data/lib/active_model_serializers/adapter/json_api.rb +2 -0
  41. data/lib/active_model_serializers/adapter/json_api/deserialization.rb +2 -0
  42. data/lib/active_model_serializers/adapter/json_api/error.rb +2 -0
  43. data/lib/active_model_serializers/adapter/json_api/jsonapi.rb +2 -0
  44. data/lib/active_model_serializers/adapter/json_api/link.rb +2 -0
  45. data/lib/active_model_serializers/adapter/json_api/meta.rb +2 -0
  46. data/lib/active_model_serializers/adapter/json_api/pagination_links.rb +2 -0
  47. data/lib/active_model_serializers/adapter/json_api/relationship.rb +2 -0
  48. data/lib/active_model_serializers/adapter/json_api/resource_identifier.rb +2 -0
  49. data/lib/active_model_serializers/adapter/null.rb +2 -0
  50. data/lib/active_model_serializers/callbacks.rb +2 -0
  51. data/lib/active_model_serializers/deprecate.rb +2 -0
  52. data/lib/active_model_serializers/deserialization.rb +2 -0
  53. data/lib/active_model_serializers/json_pointer.rb +2 -0
  54. data/lib/active_model_serializers/logging.rb +2 -0
  55. data/lib/active_model_serializers/lookup_chain.rb +2 -0
  56. data/lib/active_model_serializers/model.rb +2 -0
  57. data/lib/active_model_serializers/railtie.rb +2 -0
  58. data/lib/active_model_serializers/register_jsonapi_renderer.rb +2 -0
  59. data/lib/active_model_serializers/serializable_resource.rb +4 -2
  60. data/lib/active_model_serializers/serialization_context.rb +2 -0
  61. data/lib/active_model_serializers/test.rb +2 -0
  62. data/lib/active_model_serializers/test/schema.rb +2 -0
  63. data/lib/active_model_serializers/test/serializer.rb +2 -0
  64. data/lib/generators/rails/resource_override.rb +2 -0
  65. data/lib/generators/rails/serializer_generator.rb +2 -0
  66. data/lib/grape/active_model_serializers.rb +2 -0
  67. data/lib/grape/formatters/active_model_serializers.rb +2 -0
  68. data/lib/grape/helpers/active_model_serializers.rb +2 -0
  69. data/lib/tasks/rubocop.rake +2 -0
  70. data/test/action_controller/adapter_selector_test.rb +2 -0
  71. data/test/action_controller/explicit_serializer_test.rb +2 -0
  72. data/test/action_controller/json/include_test.rb +2 -0
  73. data/test/action_controller/json_api/deserialization_test.rb +2 -0
  74. data/test/action_controller/json_api/errors_test.rb +2 -0
  75. data/test/action_controller/json_api/fields_test.rb +2 -0
  76. data/test/action_controller/json_api/linked_test.rb +2 -0
  77. data/test/action_controller/json_api/pagination_test.rb +2 -0
  78. data/test/action_controller/json_api/transform_test.rb +2 -0
  79. data/test/action_controller/lookup_proc_test.rb +2 -0
  80. data/test/action_controller/namespace_lookup_test.rb +2 -0
  81. data/test/action_controller/serialization_scope_name_test.rb +2 -0
  82. data/test/action_controller/serialization_test.rb +2 -0
  83. data/test/active_model_serializers/adapter_for_test.rb +2 -0
  84. data/test/active_model_serializers/json_pointer_test.rb +2 -0
  85. data/test/active_model_serializers/logging_test.rb +2 -0
  86. data/test/active_model_serializers/model_test.rb +2 -0
  87. data/test/active_model_serializers/railtie_test_isolated.rb +2 -0
  88. data/test/active_model_serializers/register_jsonapi_renderer_test_isolated.rb +2 -0
  89. data/test/active_model_serializers/serialization_context_test_isolated.rb +2 -0
  90. data/test/active_model_serializers/test/schema_test.rb +2 -0
  91. data/test/active_model_serializers/test/serializer_test.rb +2 -0
  92. data/test/active_record_test.rb +2 -0
  93. data/test/adapter/attributes_test.rb +2 -0
  94. data/test/adapter/deprecation_test.rb +2 -0
  95. data/test/adapter/json/belongs_to_test.rb +2 -0
  96. data/test/adapter/json/collection_test.rb +2 -0
  97. data/test/adapter/json/has_many_test.rb +2 -0
  98. data/test/adapter/json/transform_test.rb +2 -0
  99. data/test/adapter/json_api/belongs_to_test.rb +2 -0
  100. data/test/adapter/json_api/collection_test.rb +2 -0
  101. data/test/adapter/json_api/errors_test.rb +2 -0
  102. data/test/adapter/json_api/fields_test.rb +2 -0
  103. data/test/adapter/json_api/has_many_explicit_serializer_test.rb +2 -0
  104. data/test/adapter/json_api/has_many_test.rb +2 -0
  105. data/test/adapter/json_api/has_one_test.rb +2 -0
  106. data/test/adapter/json_api/include_data_if_sideloaded_test.rb +2 -0
  107. data/test/adapter/json_api/json_api_test.rb +2 -0
  108. data/test/adapter/json_api/linked_test.rb +2 -0
  109. data/test/adapter/json_api/links_test.rb +2 -0
  110. data/test/adapter/json_api/pagination_links_test.rb +2 -0
  111. data/test/adapter/json_api/parse_test.rb +2 -0
  112. data/test/adapter/json_api/relationship_test.rb +2 -0
  113. data/test/adapter/json_api/resource_meta_test.rb +2 -0
  114. data/test/adapter/json_api/toplevel_jsonapi_test.rb +2 -0
  115. data/test/adapter/json_api/transform_test.rb +2 -0
  116. data/test/adapter/json_api/type_test.rb +2 -0
  117. data/test/adapter/json_test.rb +2 -0
  118. data/test/adapter/null_test.rb +2 -0
  119. data/test/adapter/polymorphic_test.rb +2 -0
  120. data/test/adapter_test.rb +2 -0
  121. data/test/array_serializer_test.rb +2 -0
  122. data/test/benchmark/app.rb +2 -0
  123. data/test/benchmark/benchmarking_support.rb +2 -0
  124. data/test/benchmark/bm_active_record.rb +2 -0
  125. data/test/benchmark/bm_adapter.rb +2 -0
  126. data/test/benchmark/bm_caching.rb +2 -0
  127. data/test/benchmark/bm_lookup_chain.rb +2 -0
  128. data/test/benchmark/bm_transform.rb +2 -0
  129. data/test/benchmark/controllers.rb +2 -0
  130. data/test/benchmark/fixtures.rb +2 -0
  131. data/test/cache_test.rb +66 -0
  132. data/test/collection_serializer_test.rb +2 -0
  133. data/test/fixtures/active_record.rb +2 -0
  134. data/test/fixtures/poro.rb +2 -0
  135. data/test/generators/scaffold_controller_generator_test.rb +2 -0
  136. data/test/generators/serializer_generator_test.rb +2 -0
  137. data/test/grape_test.rb +2 -0
  138. data/test/lint_test.rb +2 -0
  139. data/test/logger_test.rb +2 -0
  140. data/test/poro_test.rb +2 -0
  141. data/test/serializable_resource_test.rb +2 -0
  142. data/test/serializers/association_macros_test.rb +2 -0
  143. data/test/serializers/associations_test.rb +2 -0
  144. data/test/serializers/attribute_test.rb +2 -0
  145. data/test/serializers/attributes_test.rb +2 -0
  146. data/test/serializers/caching_configuration_test_isolated.rb +2 -0
  147. data/test/serializers/configuration_test.rb +2 -0
  148. data/test/serializers/fieldset_test.rb +2 -0
  149. data/test/serializers/meta_test.rb +2 -0
  150. data/test/serializers/options_test.rb +2 -0
  151. data/test/serializers/read_attribute_for_serialization_test.rb +2 -0
  152. data/test/serializers/reflection_test.rb +2 -0
  153. data/test/serializers/root_test.rb +2 -0
  154. data/test/serializers/serialization_test.rb +2 -0
  155. data/test/serializers/serializer_for_test.rb +2 -0
  156. data/test/serializers/serializer_for_with_namespace_test.rb +2 -0
  157. data/test/support/isolated_unit.rb +2 -0
  158. data/test/support/rails5_shims.rb +2 -0
  159. data/test/support/rails_app.rb +2 -0
  160. data/test/support/serialization_testing.rb +2 -0
  161. data/test/test_helper.rb +2 -0
  162. metadata +2 -2
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveModelSerializers
2
4
  module Adapter
3
5
  class Null < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Adapted from
2
4
  # https://github.com/rails/rails/blob/7f18ea14c8/activejob/lib/active_job/callbacks.rb
3
5
  require 'active_support/callbacks'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ##
2
4
  # Provides a single method +deprecate+ to be used to declare when
3
5
  # something is going away.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveModelSerializers
2
4
  module Deserialization
3
5
  module_function
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveModelSerializers
2
4
  module JsonPointer
3
5
  module_function
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ##
2
4
  # ActiveModelSerializers::Logging
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveModelSerializers
2
4
  module LookupChain
3
5
  # Standard appending of Serializer to the resource name.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # ActiveModelSerializers::Model is a convenient superclass for making your models
2
4
  # from Plain-Old Ruby Objects (PORO). It also serves as a reference implementation
3
5
  # that satisfies ActiveModel::Serializer::Lint::Tests.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/railtie'
2
4
  require 'action_controller'
3
5
  require 'action_controller/railtie'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Based on discussion in https://github.com/rails/rails/pull/23712#issuecomment-184977238,
2
4
  # the JSON API media type will have its own format/renderer.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
 
3
5
  module ActiveModelSerializers
@@ -14,8 +16,8 @@ module ActiveModelSerializers
14
16
  # @return the serializable_resource, ready for #as_json/#to_json/#serializable_hash.
15
17
  def initialize(resource, options = {})
16
18
  @resource = resource
17
- @adapter_opts, @serializer_opts =
18
- options.partition { |k, _| ADAPTER_OPTION_KEYS.include? k }.map { |h| Hash[h] }
19
+ @adapter_opts = options.select { |k, _| ADAPTER_OPTION_KEYS.include? k }
20
+ @serializer_opts = options.reject { |k, _| ADAPTER_OPTION_KEYS.include? k }
19
21
  end
20
22
 
21
23
  def serialization_scope=(scope)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/core_ext/array/extract_options'
2
4
  module ActiveModelSerializers
3
5
  class SerializationContext
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveModelSerializers
2
4
  module Test
3
5
  extend ActiveSupport::Autoload
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActiveModelSerializers
2
4
  module Test
3
5
  module Schema
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'set'
2
4
  module ActiveModelSerializers
3
5
  module Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails/generators'
2
4
  require 'rails/generators/rails/resource/resource_generator'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rails
2
4
  module Generators
3
5
  class SerializerGenerator < NamedBase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # To add Grape support, require 'grape/active_model_serializers' in the base of your Grape endpoints
2
4
  # Then add 'include Grape::ActiveModelSerializers' to enable the formatter and helpers
3
5
  require 'active_model_serializers'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # A Grape response formatter that can be used as 'formatter :json, Grape::Formatters::ActiveModelSerializers'
2
4
  #
3
5
  # Serializer options can be passed as a hash from your Grape endpoint using env[:active_model_serializer_options],
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Helpers can be included in your Grape endpoint as: helpers Grape::Helpers::ActiveModelSerializers
2
4
 
3
5
  module Grape
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'rubocop'
3
5
  require 'rubocop/rake_task'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  require 'will_paginate/array'
3
5
  require 'kaminari'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module SerializationScopeTesting
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActionController
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModel
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Execute this test in isolation
2
4
  require 'support/isolated_unit'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'support/isolated_unit'
2
4
  require 'minitest/mock'
3
5
  require 'action_dispatch'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Execute this test in isolation
2
4
  require 'support/isolated_unit'
3
5
  require 'minitest/mock'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class ActiveRecordTest < ActiveSupport::TestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  module ActiveModel
3
5
  class Serializer
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModel
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class NestedPost < ::Model; associations :nested_posts end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  module ActiveModelSerializers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  require 'will_paginate/array'
3
5
  require 'kaminari'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
  module ActiveModelSerializers
3
5
  module Adapter