diff --git a/lib/active_model_serializers.rb b/lib/active_model_serializers.rb index af216516..11974c2c 100644 --- a/lib/active_model_serializers.rb +++ b/lib/active_model_serializers.rb @@ -2,7 +2,18 @@ require 'active_model' require 'active_support' require 'action_controller' require 'action_controller/railtie' +require 'active_model/serializer/version' +require 'active_model/serializer' +require 'active_model_serializers/railtie' module ActiveModelSerializers + extend ActiveSupport::Autoload + autoload :Model + autoload :Callbacks + autoload :Logging + + require 'active_model/serializable_resource' + require 'action_controller/serialization' + mattr_accessor(:logger) { ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT)) } def self.config @@ -16,18 +27,3 @@ module ActiveModelSerializers autoload :Logging autoload :Test end - -require 'active_model/serializer' -require 'active_model/serializable_resource' -require 'active_model/serializer/version' - -require 'action_controller/serialization' -ActiveSupport.on_load(:action_controller) do - ActiveSupport.run_load_hooks(:active_model_serializers, ActiveModelSerializers) - include ::ActionController::Serialization - ActionDispatch::Reloader.to_prepare do - ActiveModel::Serializer.serializers_cache.clear - end -end - -require 'active_model/serializer/railtie' diff --git a/lib/active_model/serializer/railtie.rb b/lib/active_model_serializers/railtie.rb similarity index 64% rename from lib/active_model/serializer/railtie.rb rename to lib/active_model_serializers/railtie.rb index e2f992b6..5a04b536 100644 --- a/lib/active_model/serializer/railtie.rb +++ b/lib/active_model_serializers/railtie.rb @@ -1,7 +1,17 @@ require 'rails/railtie' -module ActiveModel +module ActiveModelSerializers class Railtie < Rails::Railtie + initializer 'active_model_serializers.action_controller' do + ActiveSupport.on_load(:action_controller) do + ActiveSupport.run_load_hooks(:active_model_serializers, ActiveModelSerializers) + include ::ActionController::Serialization + ActionDispatch::Reloader.to_prepare do + ActiveModel::Serializer.serializers_cache.clear + end + end + end + initializer 'active_model_serializers.logger' do ActiveSupport.on_load(:active_model_serializers) do self.logger = ActionController::Base.logger @@ -15,7 +25,7 @@ module ActiveModel end end - initializer 'generators' do |app| + initializer 'active_model_serializers.generators' do |app| app.load_generators require 'generators/serializer/resource_override' end diff --git a/test/test_helper.rb b/test/test_helper.rb index 809f3ca4..cb3e1ee3 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -17,6 +17,7 @@ require 'action_controller' require 'action_controller/test_case' require 'action_controller/railtie' require 'active_support/json' +require 'active_model_serializers' require 'fileutils' FileUtils.mkdir_p(File.expand_path('../../tmp/cache', __FILE__)) @@ -42,9 +43,6 @@ end require 'minitest/reporters' Minitest::Reporters.use! -require 'active_model_serializers' -require 'active_model/serializer/railtie' - require 'support/stream_capture' require 'support/rails_app'