mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-25 07:16:49 +00:00
Move meta/meta_key handling inside adapter.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
require 'set'
|
||||
module ActiveModel
|
||||
class SerializableResource
|
||||
ADAPTER_OPTION_KEYS = Set.new([:include, :fields, :adapter])
|
||||
ADAPTER_OPTION_KEYS = Set.new([:include, :fields, :adapter, :meta, :meta_key])
|
||||
|
||||
# Primary interface to composing a resource with a serializer and adapter.
|
||||
# @return the serializable_resource, ready for #as_json/#to_json/#serializable_hash.
|
||||
|
||||
@@ -121,15 +121,13 @@ module ActiveModel
|
||||
end
|
||||
end
|
||||
|
||||
attr_accessor :object, :root, :meta, :meta_key, :scope
|
||||
attr_accessor :object, :root, :scope
|
||||
class_attribute :_type, instance_writer: false
|
||||
|
||||
def initialize(object, options = {})
|
||||
self.object = object
|
||||
self.instance_options = options
|
||||
self.root = instance_options[:root]
|
||||
self.meta = instance_options[:meta]
|
||||
self.meta_key = instance_options[:meta_key]
|
||||
self.scope = instance_options[:scope]
|
||||
|
||||
scope_name = instance_options[:scope_name]
|
||||
|
||||
@@ -37,11 +37,11 @@ module ActiveModel
|
||||
private
|
||||
|
||||
def meta
|
||||
serializer.meta if serializer.respond_to?(:meta)
|
||||
instance_options.fetch(:meta, nil)
|
||||
end
|
||||
|
||||
def meta_key
|
||||
serializer.meta_key || 'meta'.freeze
|
||||
instance_options.fetch(:meta_key, 'meta'.freeze)
|
||||
end
|
||||
|
||||
def root
|
||||
|
||||
@@ -5,7 +5,7 @@ module ActiveModel
|
||||
include Enumerable
|
||||
delegate :each, to: :@serializers
|
||||
|
||||
attr_reader :object, :root, :meta, :meta_key
|
||||
attr_reader :object, :root
|
||||
|
||||
def initialize(resources, options = {})
|
||||
@root = options[:root]
|
||||
@@ -21,8 +21,6 @@ module ActiveModel
|
||||
serializer_class.new(resource, options.except(:serializer))
|
||||
end
|
||||
end
|
||||
@meta = options[:meta]
|
||||
@meta_key = options[:meta_key]
|
||||
end
|
||||
|
||||
def json_key
|
||||
|
||||
Reference in New Issue
Block a user