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
34
34
# @param resource [ActiveRecord::Base, ActiveModelSerializers::Model]
35
35
# @return [ActiveModel::Serializer]
36
36
# Preferentially returns
37
- # 1. resource.serializer
37
+ # 1. resource.serializer_class
38
38
# 2. ArraySerializer when resource is a collection
39
39
# 3. options[:serializer]
40
40
# 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 )
45
45
config . collection_serializer
46
46
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 ] ) }
48
49
end
49
50
end
50
51
You can’t perform that action at this time.
0 commit comments