mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-25 15:23:06 +00:00
Moved the adapter and adapter folder to active_model_serializers folder and changed the module namespace
Changed the namespace in adapters and folder to active_model_serializers from active_model::serializer Changed namespace of adapters in serializers and other folders Moved adapter_for_test file to active_model_serializers folder and changed namespace of adapter inside the test file Require ActiveSupport's string/inflections We depend on string/inflections to define String#underscore. Refactor JsonApi adapter to avoid redundant computations. Update readme.md to link to v0.10.0.rc4 changed namespace of adapter folder testcases Changed all namespaces of adapter under active_moder_serializers Namespaced IncludeTree which is from serializer module, so needed to namespace it properly Fixed wrong namsepacing of fieldset namespace change in deserializer json_api Fixed the namespace for collection serializer when used inside adapter, changed namespace for adapter to new namespace which I had forgotten previously Modified logging test and adapter test cases to make the testcases pass Changed the yardoc links,as old links are not taking to documentation pages,proper links for 0.10,0.9 and 0.8 in rubydoc Rubocop errors are fixed by underscore naming unused variables Moved the require of adapter to serializable resource Remoeved adapter dependency inside serializer and added warning to Serializer::adapter method Fixed frament cache test which is calling Serializer.adapter Changed the name of lookup_adapter_from_config to configured_adapter Changed the docs which will show the new namespace of adapters Rubocop fix
This commit is contained in:
committed by
Benjamin Fleischer
parent
f5ec8ed9d4
commit
252f9c4ae9
@@ -1,166 +0,0 @@
|
||||
module ActiveModel
|
||||
class Serializer
|
||||
class AdapterForTest < ActiveSupport::TestCase
|
||||
UnknownAdapterError = ::ActiveModel::Serializer::Adapter::UnknownAdapterError
|
||||
|
||||
def setup
|
||||
@previous_adapter = ActiveModelSerializers.config.adapter
|
||||
end
|
||||
|
||||
def teardown
|
||||
ActiveModelSerializers.config.adapter = @previous_adapter
|
||||
end
|
||||
|
||||
def test_returns_default_adapter
|
||||
adapter = ActiveModel::Serializer.adapter
|
||||
assert_equal ActiveModel::Serializer::Adapter::Attributes, adapter
|
||||
end
|
||||
|
||||
def test_overwrite_adapter_with_symbol
|
||||
ActiveModelSerializers.config.adapter = :null
|
||||
|
||||
adapter = ActiveModel::Serializer.adapter
|
||||
assert_equal ActiveModel::Serializer::Adapter::Null, adapter
|
||||
ensure
|
||||
ActiveModelSerializers.config.adapter = @previous_adapter
|
||||
end
|
||||
|
||||
def test_overwrite_adapter_with_class
|
||||
ActiveModelSerializers.config.adapter = ActiveModel::Serializer::Adapter::Null
|
||||
|
||||
adapter = ActiveModel::Serializer.adapter
|
||||
assert_equal ActiveModel::Serializer::Adapter::Null, adapter
|
||||
end
|
||||
|
||||
def test_raises_exception_if_invalid_symbol_given
|
||||
ActiveModelSerializers.config.adapter = :unknown
|
||||
|
||||
assert_raises UnknownAdapterError do
|
||||
ActiveModel::Serializer.adapter
|
||||
end
|
||||
end
|
||||
|
||||
def test_raises_exception_if_it_does_not_know_hot_to_infer_adapter
|
||||
ActiveModelSerializers.config.adapter = 42
|
||||
|
||||
assert_raises UnknownAdapterError do
|
||||
ActiveModel::Serializer.adapter
|
||||
end
|
||||
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
|
||||
assert_raises UnknownAdapterError do
|
||||
ActiveModel::Serializer::Adapter.adapter_class(:json_simple)
|
||||
end
|
||||
end
|
||||
|
||||
def test_adapter_map
|
||||
expected_adapter_map = {
|
||||
'null'.freeze => ActiveModel::Serializer::Adapter::Null,
|
||||
'json'.freeze => ActiveModel::Serializer::Adapter::Json,
|
||||
'attributes'.freeze => ActiveModel::Serializer::Adapter::Attributes,
|
||||
'json_api'.freeze => ActiveModel::Serializer::Adapter::JsonApi
|
||||
}
|
||||
actual = ActiveModel::Serializer::Adapter.adapter_map
|
||||
assert_equal actual, expected_adapter_map
|
||||
end
|
||||
|
||||
def test_adapters
|
||||
assert_equal ActiveModel::Serializer::Adapter.adapters.sort, [
|
||||
'attributes'.freeze,
|
||||
'json'.freeze,
|
||||
'json_api'.freeze,
|
||||
'null'.freeze
|
||||
]
|
||||
end
|
||||
|
||||
def test_lookup_adapter_by_string_name
|
||||
assert_equal ActiveModel::Serializer::Adapter.lookup('json'.freeze), ActiveModel::Serializer::Adapter::Json
|
||||
end
|
||||
|
||||
def test_lookup_adapter_by_symbol_name
|
||||
assert_equal ActiveModel::Serializer::Adapter.lookup(:json), ActiveModel::Serializer::Adapter::Json
|
||||
end
|
||||
|
||||
def test_lookup_adapter_by_class
|
||||
klass = ActiveModel::Serializer::Adapter::Json
|
||||
assert_equal ActiveModel::Serializer::Adapter.lookup(klass), klass
|
||||
end
|
||||
|
||||
def test_lookup_adapter_from_environment_registers_adapter
|
||||
ActiveModel::Serializer::Adapter.const_set(:AdapterFromEnvironment, Class.new)
|
||||
klass = ::ActiveModel::Serializer::Adapter::AdapterFromEnvironment
|
||||
name = 'adapter_from_environment'.freeze
|
||||
assert_equal ActiveModel::Serializer::Adapter.lookup(name), klass
|
||||
assert ActiveModel::Serializer::Adapter.adapters.include?(name)
|
||||
ensure
|
||||
ActiveModel::Serializer::Adapter.adapter_map.delete(name)
|
||||
ActiveModel::Serializer::Adapter.send(:remove_const, :AdapterFromEnvironment)
|
||||
end
|
||||
|
||||
def test_lookup_adapter_for_unknown_name
|
||||
assert_raises UnknownAdapterError do
|
||||
ActiveModel::Serializer::Adapter.lookup(:json_simple)
|
||||
end
|
||||
end
|
||||
|
||||
def test_adapter
|
||||
assert_equal ActiveModelSerializers.config.adapter, :attributes
|
||||
assert_equal ActiveModel::Serializer.adapter, ActiveModel::Serializer::Adapter::Attributes
|
||||
end
|
||||
|
||||
def test_register_adapter
|
||||
new_adapter_name = :foo
|
||||
new_adapter_klass = Class.new
|
||||
ActiveModel::Serializer::Adapter.register(new_adapter_name, new_adapter_klass)
|
||||
assert ActiveModel::Serializer::Adapter.adapters.include?('foo'.freeze)
|
||||
assert ActiveModel::Serializer::Adapter.lookup(:foo), new_adapter_klass
|
||||
ensure
|
||||
ActiveModel::Serializer::Adapter.adapter_map.delete(new_adapter_name.to_s)
|
||||
end
|
||||
|
||||
def test_inherited_adapter_hooks_register_adapter
|
||||
Object.const_set(:MyAdapter, Class.new)
|
||||
my_adapter = MyAdapter
|
||||
ActiveModel::Serializer::Adapter::Base.inherited(my_adapter)
|
||||
assert_equal ActiveModel::Serializer::Adapter.lookup(:my_adapter), my_adapter
|
||||
ensure
|
||||
ActiveModel::Serializer::Adapter.adapter_map.delete('my_adapter'.freeze)
|
||||
Object.send(:remove_const, :MyAdapter)
|
||||
end
|
||||
|
||||
def test_inherited_adapter_hooks_register_namespaced_adapter
|
||||
Object.const_set(:MyNamespace, Module.new)
|
||||
MyNamespace.const_set(:MyAdapter, Class.new)
|
||||
my_adapter = MyNamespace::MyAdapter
|
||||
ActiveModel::Serializer::Adapter::Base.inherited(my_adapter)
|
||||
assert_equal ActiveModel::Serializer::Adapter.lookup(:'my_namespace/my_adapter'), my_adapter
|
||||
ensure
|
||||
ActiveModel::Serializer::Adapter.adapter_map.delete('my_namespace/my_adapter'.freeze)
|
||||
MyNamespace.send(:remove_const, :MyAdapter)
|
||||
Object.send(:remove_const, :MyNamespace)
|
||||
end
|
||||
|
||||
def test_inherited_adapter_hooks_register_subclass_of_registered_adapter
|
||||
Object.const_set(:MyAdapter, Class.new)
|
||||
my_adapter = MyAdapter
|
||||
Object.const_set(:MySubclassedAdapter, Class.new(MyAdapter))
|
||||
my_subclassed_adapter = MySubclassedAdapter
|
||||
ActiveModel::Serializer::Adapter::Base.inherited(my_adapter)
|
||||
ActiveModel::Serializer::Adapter::Base.inherited(my_subclassed_adapter)
|
||||
assert_equal ActiveModel::Serializer::Adapter.lookup(:my_adapter), my_adapter
|
||||
assert_equal ActiveModel::Serializer::Adapter.lookup(:my_subclassed_adapter), my_subclassed_adapter
|
||||
ensure
|
||||
ActiveModel::Serializer::Adapter.adapter_map.delete('my_adapter'.freeze)
|
||||
ActiveModel::Serializer::Adapter.adapter_map.delete('my_subclassed_adapter'.freeze)
|
||||
Object.send(:remove_const, :MyAdapter)
|
||||
Object.send(:remove_const, :MySubclassedAdapter)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -14,14 +14,14 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_json_serializable_hash
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(@blog_serializer)
|
||||
adapter = ActiveModelSerializers::Adapter::Json.new(@blog_serializer)
|
||||
assert_equal({ blog: { id: 1, title: 'AMS Hints' } }, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
def test_attribute_inheritance_with_key
|
||||
inherited_klass = Class.new(AlternateBlogSerializer)
|
||||
blog_serializer = inherited_klass.new(@blog)
|
||||
adapter = ActiveModel::Serializer::Adapter::Attributes.new(blog_serializer)
|
||||
adapter = ActiveModelSerializers::Adapter::Attributes.new(blog_serializer)
|
||||
assert_equal({ :id => 1, :title => 'AMS Hints' }, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
@@ -39,7 +39,7 @@ module ActiveModel
|
||||
attribute :name, key: :id
|
||||
end
|
||||
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer.new(@blog))
|
||||
adapter = ActiveModelSerializers::Adapter::Json.new(serializer.new(@blog))
|
||||
assert_equal({ blog: { id: 'AMS Hints' } }, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
@@ -48,7 +48,7 @@ module ActiveModel
|
||||
attribute :name, key: :object
|
||||
end
|
||||
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer.new(@blog))
|
||||
adapter = ActiveModelSerializers::Adapter::Json.new(serializer.new(@blog))
|
||||
assert_equal({ blog: { object: 'AMS Hints' } }, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
@@ -60,10 +60,10 @@ module ActiveModel
|
||||
attributes :type
|
||||
end
|
||||
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(attribute_serializer.new(@blog))
|
||||
adapter = ActiveModelSerializers::Adapter::Json.new(attribute_serializer.new(@blog))
|
||||
assert_equal({ blog: { type: 1 } }, adapter.serializable_hash)
|
||||
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(attributes_serializer.new(@blog))
|
||||
adapter = ActiveModelSerializers::Adapter::Json.new(attributes_serializer.new(@blog))
|
||||
assert_equal({ blog: { type: 'stuff' } }, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user