File tree Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Original file line number Diff line number Diff line change @@ -34,17 +34,18 @@ class Serializer
3434 # @param resource [ActiveRecord::Base, ActiveModelSerializers::Model]
3535 # @return [ActiveModel::Serializer]
3636 # Preferentially returns
37- # 1. resource.serializer
37+ # 1. resource.serializer_class
3838 # 2. ArraySerializer when resource is a collection
3939 # 3. options[:serializer]
4040 # 4. lookup serializer when resource is a Class
41- def self . serializer_for ( resource , options = { } )
42- if resource . respond_to? ( :serializer_class )
43- resource . serializer_class
44- elsif resource . respond_to? ( :to_ary )
41+ def self . serializer_for ( resource_or_class , options = { } )
42+ if resource_or_class . respond_to? ( :serializer_class )
43+ resource_or_class . serializer_class
44+ elsif resource_or_class . respond_to? ( :to_ary )
4545 config . collection_serializer
4646 else
47- options . fetch ( :serializer ) { get_serializer_for ( resource . class , options [ :namespace ] ) }
47+ resource_class = resource_or_class . class == Class ? resource_or_class : resource_or_class . class
48+ options . fetch ( :serializer ) { get_serializer_for ( resource_class , options [ :namespace ] ) }
4849 end
4950 end
5051
You can’t perform that action at this time.
0 commit comments