Serializers now inherit root

This commit is contained in:
Adrian Mugnolo and Santiago Pastorino 2013-12-16 17:55:41 -02:00 committed by Santiago Pastorino
parent f72115fb79
commit 700e6b83c1
2 changed files with 15 additions and 0 deletions

View File

@ -13,6 +13,7 @@ module ActiveModel
class << self
def inherited(base)
base._root = _root
base._attributes = (_attributes || []).dup
base._associations = (_associations || {}).dup
end

View File

@ -54,6 +54,20 @@ module ActiveModel
name: 'Name 1', description: 'Description 1'
}, @serializer.as_json)
end
def test_root_inheritance
ProfileSerializer._root = 'profile'
inherited_serializer_klass = Class.new(ProfileSerializer)
inherited_serializer_klass._root = 'inherited_profile'
another_inherited_serializer_klass = Class.new(ProfileSerializer)
assert_equal('inherited_profile',
inherited_serializer_klass._root)
assert_equal('profile',
another_inherited_serializer_klass._root)
end
end
class RootInSerializerTest < ActiveModel::TestCase