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
commit 3c5e58bf13
2 changed files with 14 additions and 2 deletions

View File

@ -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

View File

@ -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