From 0d31e72d2211b6bf7f0b0420139c4b370d6e986e Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Thu, 14 Aug 2014 10:28:36 -0400 Subject: [PATCH] Allow users to opt-out from the ActionController extensions --- lib/action_controller/serialization.rb | 5 +++++ lib/active_model_serializers.rb | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/action_controller/serialization.rb b/lib/action_controller/serialization.rb index c966c9f1..5b1ee4ee 100644 --- a/lib/action_controller/serialization.rb +++ b/lib/action_controller/serialization.rb @@ -29,6 +29,11 @@ module ActionController include ActionController::Renderers + class << self + attr_accessor :enabled + end + self.enabled = true + included do class_attribute :_serialization_scope self._serialization_scope = :current_user diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index c0ba27fe..80ce3470 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -8,8 +8,10 @@ begin require 'action_controller' require 'action_controller/serialization' - ActiveSupport.on_load(:action_controller) do - include ::ActionController::Serialization + ActiveSupport.on_load(:after_initialize) do + if ::ActionController::Serialization.enabled + ActionController::Base.send(:include, ::ActionController::Serialization) + end end rescue LoadError # rails not installed, continuing