File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -115,7 +115,9 @@ def self.urls(*attrs)
115
115
end
116
116
117
117
def self . serializer_for ( resource , options = { } )
118
- if resource . respond_to? ( :to_ary )
118
+ if resource . respond_to? ( :serializer_class )
119
+ resource . serializer_class
120
+ elsif resource . respond_to? ( :to_ary )
119
121
config . array_serializer
120
122
else
121
123
options
Original file line number Diff line number Diff line change @@ -29,10 +29,14 @@ def test_overwritten_serializer_for_array
29
29
class SerializerTest < Minitest ::Test
30
30
class MyProfile < Profile
31
31
end
32
+ class CustomProfile
33
+ def serializer_class ; ProfileSerializer ; end
34
+ end
32
35
33
36
def setup
34
37
@profile = Profile . new
35
38
@my_profile = MyProfile . new
39
+ @custom_profile = CustomProfile . new
36
40
@model = ::Model . new
37
41
end
38
42
@@ -50,6 +54,11 @@ def test_serializer_inherited_serializer
50
54
serializer = ActiveModel ::Serializer . serializer_for ( @my_profile )
51
55
assert_equal ProfileSerializer , serializer
52
56
end
57
+
58
+ def test_serializer_custom_serializer
59
+ serializer = ActiveModel ::Serializer . serializer_for ( @custom_profile )
60
+ assert_equal ProfileSerializer , serializer
61
+ end
53
62
end
54
63
end
55
64
end
You can’t perform that action at this time.
0 commit comments