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