Simplify adapter deprecation and delegation

The Adapter module was refactored a bit to use Active Support delegation
and remove duplicated code.
The CHANGELOG was also added.
This commit is contained in:
Yohan Robert
2016-03-07 14:46:04 +01:00
parent b50195fde7
commit 8dfbc4818d
2 changed files with 11 additions and 27 deletions

View File

@@ -5,35 +5,18 @@ module ActiveModel
class << self
extend ActiveModelSerializers::Deprecate
def create(resource, options = {})
ActiveModelSerializers::Adapter.create(resource, options)
def self.delegate_and_deprecate(method)
delegate method, to: ActiveModelSerializers::Adapter
deprecate method, 'ActiveModelSerializers::Adapter.'
end
deprecate :create, 'ActiveModelSerializers::Adapter.'
private_class_method :delegate_and_deprecate
def adapter_class(adapter)
ActiveModelSerializers::Adapter.adapter_class(adapter)
end
deprecate :adapter_class, 'ActiveModelSerializers::Adapter.'
def adapter_map
ActiveModelSerializers::Adapter.adapter_map
end
deprecate :adapter_map, 'ActiveModelSerializers::Adapter.'
def adapters
ActiveModelSerializers::Adapter.adapters
end
deprecate :adapters, 'ActiveModelSerializers::Adapter.'
def register(name, klass = name)
ActiveModelSerializers::Adapter.register(name, klass)
end
deprecate :register, 'ActiveModelSerializers::Adapter.'
def lookup(adapter)
ActiveModelSerializers::Adapter.lookup(adapter)
end
deprecate :lookup, 'ActiveModelSerializers::Adapter.'
delegate_and_deprecate :create
delegate_and_deprecate :adapter_class
delegate_and_deprecate :adapter_map
delegate_and_deprecate :adapters
delegate_and_deprecate :register
delegate_and_deprecate :lookup
end
require 'active_model/serializer/adapter/base'