Merge pull request #129 from dgeb/active-record-init

clean up lazy loading of serialization support
This commit is contained in:
Jo Liss
2012-09-21 11:34:30 -07:00
2 changed files with 14 additions and 2 deletions

View File

@@ -57,7 +57,7 @@ module ActiveModel::SerializerSupport
end end
ActiveSupport.on_load(:active_record) do ActiveSupport.on_load(:active_record) do
include ActiveModel::SerializerSupport ActiveRecord::Base.send(:include, ActiveModel::SerializerSupport)
end end
module ActiveModel::ArraySerializerSupport module ActiveModel::ArraySerializerSupport
@@ -78,7 +78,7 @@ begin
require 'action_controller/serialization' require 'action_controller/serialization'
ActiveSupport.on_load(:action_controller) do ActiveSupport.on_load(:action_controller) do
include ::ActionController::Serialization ActionController::Base.send(:include, ActionController::Serialization)
end end
rescue LoadError => ex rescue LoadError => ex
# rails on installed, continuing # rails on installed, continuing

View File

@@ -9,6 +9,8 @@ class RandomModelCollection
end end
module ActiveRecord module ActiveRecord
class Base
end
class Relation class Relation
end end
end end
@@ -26,5 +28,15 @@ class SerializerSupportTest < ActiveModel::TestCase
ActiveSupport.run_load_hooks(:active_record) ActiveSupport.run_load_hooks(:active_record)
assert_equal ActiveModel::ArraySerializer, ActiveRecord::Relation.new.active_model_serializer assert_equal ActiveModel::ArraySerializer, ActiveRecord::Relation.new.active_model_serializer
end 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 end