From 8dfbc4818da4963d8e4f188d661ba90c02c53f38 Mon Sep 17 00:00:00 2001 From: Yohan Robert Date: Mon, 7 Mar 2016 14:46:04 +0100 Subject: [PATCH] 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. --- CHANGELOG.md | 1 + lib/active_model/serializer/adapter.rb | 37 +++++++------------------- 2 files changed, 11 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 804ab398..1466f340 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ Fixes: - [#1488](https://github.com/rails-api/active_model_serializers/pull/1488) Require ActiveSupport's string inflections (@nate00) Misc: +- [#1559](https://github.com/rails-api/active_model_serializers/pull/1559) Add a deprecation DSL. (@bf4 @groyoh) - [#1543](https://github.com/rails-api/active_model_serializers/pull/1543) Add the changes missing from #1535. (@groyoh) - [#1535](https://github.com/rails-api/active_model_serializers/pull/1535) Move the adapter and adapter folder to active_model_serializers folder and changes the module namespace. (@domitian @bf4) diff --git a/lib/active_model/serializer/adapter.rb b/lib/active_model/serializer/adapter.rb index 3a6a3ee2..c26ac038 100644 --- a/lib/active_model/serializer/adapter.rb +++ b/lib/active_model/serializer/adapter.rb @@ -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'