Skip to content

Commit b7b12f7

Browse files
authored
Merge pull request #2495 from janko/fix-global-config
Fix changing config in subclass having global effect
2 parents 56b0a26 + 0346455 commit b7b12f7

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

lib/active_model/serializer.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ def self.inherited(base)
192192
base._attributes_data = _attributes_data.dup
193193
base._reflections = _reflections.dup
194194
base._links = _links.dup
195+
base.config = ActiveSupport::InheritableOptions.new(config)
195196
end
196197

197198
# @return [Array<Symbol>] Key names of declared attributes

test/serializers/configuration_test.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
module ActiveModel
66
class Serializer
77
class ConfigurationTest < ActiveSupport::TestCase
8+
class CustomSerializer < ActiveModel::Serializer
9+
config.adapter = :json_api
10+
end
11+
812
def test_collection_serializer
913
assert_equal ActiveModel::Serializer::CollectionSerializer, ActiveModelSerializers.config.collection_serializer
1014
end
@@ -29,6 +33,10 @@ def test_setting_array_serializer_sets_collection_serializer
2933
def test_default_adapter
3034
assert_equal :attributes, ActiveModelSerializers.config.adapter
3135
end
36+
37+
def test_subclass_adapter
38+
assert_equal :json_api, CustomSerializer.config.adapter
39+
end
3240
end
3341
end
3442
end

0 commit comments

Comments
 (0)