Allow overriding the adapter with render option

Make it easy to use multiple adapters in an app.

use "adapter: false" to not use ams

make a test override config.adapter
This commit is contained in:
Gary Gordon
2014-11-04 15:36:52 -05:00
parent 08fbba9087
commit 5560b49098
8 changed files with 99 additions and 50 deletions

View File

@@ -18,6 +18,26 @@ module ActiveModel
def test_serializer
assert_equal @serializer, @adapter.serializer
end
def test_adapter_class_for_known_adapter
klass = ActiveModel::Serializer::Adapter.adapter_class(:json_api)
assert_equal ActiveModel::Serializer::Adapter::JsonApi, klass
end
def test_adapter_class_for_unknown_adapter
klass = ActiveModel::Serializer::Adapter.adapter_class(:json_simple)
assert_nil klass
end
def test_create_adapter
adapter = ActiveModel::Serializer::Adapter.create(@serializer)
assert_equal ActiveModel::Serializer::Adapter::Json, adapter.class
end
def test_create_adapter_with_override
adapter = ActiveModel::Serializer::Adapter.create(@serializer, { adapter: :json_api})
assert_equal ActiveModel::Serializer::Adapter::JsonApi, adapter.class
end
end
end
end