Allow to define custom serializer for given class by defining #serializer_class method in serialized object's class. Resolves #515.

This commit is contained in:
Bernard Potocki
2015-05-03 17:47:52 +02:00
parent 6a06b90743
commit c91b649504
2 changed files with 12 additions and 1 deletions

View File

@@ -29,10 +29,14 @@ module ActiveModel
class SerializerTest < Minitest::Test
class MyProfile < Profile
end
class CustomProfile
def serializer_class; ProfileSerializer; end
end
def setup
@profile = Profile.new
@my_profile = MyProfile.new
@custom_profile = CustomProfile.new
@model = ::Model.new
end
@@ -50,6 +54,11 @@ module ActiveModel
serializer = ActiveModel::Serializer.serializer_for(@my_profile)
assert_equal ProfileSerializer, serializer
end
def test_serializer_custom_serializer
serializer = ActiveModel::Serializer.serializer_for(@custom_profile)
assert_equal ProfileSerializer, serializer
end
end
end
end