Bring back compat with ActiveModel::Serializers
The current AMS re-write (which will debut as v0.9.0) has changed how serializers are resovled, and removed the ArraySerializerSupport module. This change will ensure Draper properly integrates with both AMS pre-0.9.0, and the future.
This commit is contained in:
parent
724e735a03
commit
f38d8c9abf
|
@ -45,7 +45,9 @@ module Draper
|
|||
|
||||
initializer "draper.setup_active_model_serializers" do |app|
|
||||
ActiveSupport.on_load :active_model_serializers do
|
||||
Draper::CollectionDecorator.send :include, ActiveModel::ArraySerializerSupport
|
||||
if defined?(ActiveModel::ArraySerializerSupport)
|
||||
Draper::CollectionDecorator.send :include, ActiveModel::ArraySerializerSupport
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -4,8 +4,13 @@ describe Draper::CollectionDecorator do
|
|||
describe "#active_model_serializer" do
|
||||
it "returns ActiveModel::ArraySerializer" do
|
||||
collection_decorator = Draper::CollectionDecorator.new([])
|
||||
if defined?(ActiveModel::ArraySerializerSupport)
|
||||
collection_serializer = collection_decorator.active_model_serializer
|
||||
else
|
||||
collection_serializer = ActiveModel::Serializer.serializer_for(collection_decorator)
|
||||
end
|
||||
|
||||
expect(collection_decorator.active_model_serializer).to be ActiveModel::ArraySerializer
|
||||
expect(collection_serializer).to be ActiveModel::ArraySerializer
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue