From 01bc5349767b456f6731bb3a5a374de157657f87 Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Thu, 8 Aug 2013 17:58:01 -0300 Subject: [PATCH] Remove SerializerSupport --- lib/action_controller/serialization.rb | 3 +-- lib/active_model/serializer.rb | 4 ++++ lib/active_model/serializer_support.rb | 11 ----------- lib/active_model_serializers.rb | 7 ------- test/fixtures/poro.rb | 2 -- .../serializer_support/active_record_test.rb | 13 ------------- .../active_model/serializer_support/poro_test.rb | 12 ------------ 7 files changed, 5 insertions(+), 47 deletions(-) delete mode 100644 lib/active_model/serializer_support.rb delete mode 100644 test/unit/active_model/serializer_support/active_record_test.rb delete mode 100644 test/unit/active_model/serializer_support/poro_test.rb diff --git a/lib/action_controller/serialization.rb b/lib/action_controller/serialization.rb index 25decc32..a4faf972 100644 --- a/lib/action_controller/serialization.rb +++ b/lib/action_controller/serialization.rb @@ -60,8 +60,7 @@ module ActionController serializer = options.delete(:serializer) || - resource.respond_to?(:active_model_serializer) && - resource.active_model_serializer + ActiveModel::Serializer.serializer_for(resource) options[:scope] = serialization_scope unless options.has_key?(:scope) diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index 7ce3f061..aece7a47 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -5,6 +5,10 @@ module ActiveModel base._attributes = {} end + def serializer_for(resource) + "#{resource.class.name}Serializer".safe_constantize + end + attr_accessor :_root, :_attributes def root(root) diff --git a/lib/active_model/serializer_support.rb b/lib/active_model/serializer_support.rb deleted file mode 100644 index ed53c89a..00000000 --- a/lib/active_model/serializer_support.rb +++ /dev/null @@ -1,11 +0,0 @@ -require 'active_support/core_ext/string/inflections' - -module ActiveModel - module SerializerSupport - def active_model_serializer - "#{self.class.name}Serializer".safe_constantize - end - - alias read_attribute_for_serialization send - end -end diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index 1ffdce05..26d08553 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -1,6 +1,5 @@ require 'active_model' require 'active_model/serializer' -require 'active_model/serializer_support' begin require 'action_controller' @@ -12,9 +11,3 @@ begin rescue LoadError # rails not installed, continuing end - -[:active_record, :mongoid].each do |orm| - ActiveSupport.on_load(orm) do - include ActiveModel::SerializerSupport - end -end diff --git a/test/fixtures/poro.rb b/test/fixtures/poro.rb index 1b70ee4a..4d5850be 100644 --- a/test/fixtures/poro.rb +++ b/test/fixtures/poro.rb @@ -1,6 +1,4 @@ class Model - include ActiveModel::SerializerSupport - def initialize(hash={}) @attributes = hash end diff --git a/test/unit/active_model/serializer_support/active_record_test.rb b/test/unit/active_model/serializer_support/active_record_test.rb deleted file mode 100644 index af9d5ed4..00000000 --- a/test/unit/active_model/serializer_support/active_record_test.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'test_helper' -require 'fixtures/active_record' -require 'active_model/serializer_support' - -module ActiveModel - module SerializerSupport - class Test < ActiveModel::TestCase - def test_active_model_returns_its_serializer - assert_equal ARModelSerializer, ARModel.new.active_model_serializer - end - end - end -end diff --git a/test/unit/active_model/serializer_support/poro_test.rb b/test/unit/active_model/serializer_support/poro_test.rb deleted file mode 100644 index e16a1e78..00000000 --- a/test/unit/active_model/serializer_support/poro_test.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'test_helper' -require 'active_model/serializer_support' - -module ActiveModel - module SerializerSupport - class Test < ActiveModel::TestCase - def test_active_model_on_poro_returns_its_serializer - assert_equal ModelSerializer, ::Model.new.active_model_serializer - end - end - end -end