diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index 33aa902b..380ee1c3 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -57,7 +57,7 @@ module ActiveModel::SerializerSupport end ActiveSupport.on_load(:active_record) do - include ActiveModel::SerializerSupport + ActiveRecord::Base.send(:include, ActiveModel::SerializerSupport) end module ActiveModel::ArraySerializerSupport @@ -78,7 +78,7 @@ begin require 'action_controller/serialization' ActiveSupport.on_load(:action_controller) do - include ::ActionController::Serialization + ActionController::Base.send(:include, ActionController::Serialization) end rescue LoadError => ex # rails on installed, continuing diff --git a/test/serializer_support_test.rb b/test/serializer_support_test.rb index 2e963027..74190fb9 100644 --- a/test/serializer_support_test.rb +++ b/test/serializer_support_test.rb @@ -9,6 +9,8 @@ class RandomModelCollection end module ActiveRecord + class Base + end class Relation end end @@ -26,5 +28,15 @@ class SerializerSupportTest < ActiveModel::TestCase ActiveSupport.run_load_hooks(:active_record) assert_equal ActiveModel::ArraySerializer, ActiveRecord::Relation.new.active_model_serializer end + + test "it automatically includes serializer support in active_record/base" do + ActiveSupport.run_load_hooks(:active_record) + assert ActiveRecord::Base.new.respond_to?(:active_model_serializer) + end + + test "it automatically includes serializer support in action_controller/base" do + ActiveSupport.run_load_hooks(:action_controller) + assert ActionController::Base.new.respond_to?(:serialization_scope) + end end