c1304098cc
* A new module (ActiveSupport::Autoload) is provide that extends autoloading with new behavior. * All autoloads in modules that have extended ActiveSupport::Autoload will be eagerly required in threadsafe environments * Autoloads can optionally leave off the path if the path is the same as full_constant_name.underscore * It is possible to specify that a group of autoloads live under an additional path. For instance, all of ActionDispatch's middlewares are ActionDispatch::MiddlewareName, but they live under "action_dispatch/middlewares/middleware_name" * It is possible to specify that a group of autoloads are all found at the same path. For instance, a number of exceptions might all be declared there. * One consequence of this is that testing-related constants are not autoloaded. To get the testing helpers for a given component, require "component_name/test_case". For instance, "action_controller/test_case". * test_help.rb, which is automatically required by a Rails application's test helper, requires the test_case.rb for all active components, so this change will not be disruptive in existing or new applications.
22 lines
486 B
Ruby
22 lines
486 B
Ruby
require "active_support/core_ext/module/attr_internal"
|
|
require "active_support/core_ext/module/delegation"
|
|
|
|
module AbstractController
|
|
extend ActiveSupport::Autoload
|
|
|
|
autoload :Base
|
|
autoload :Callbacks
|
|
autoload :Helpers
|
|
autoload :Layouts
|
|
autoload :LocalizedCache
|
|
autoload :Logger
|
|
autoload :RenderingController
|
|
|
|
# === Exceptions
|
|
autoload_at "abstract_controller/exceptions" do
|
|
autoload :ActionNotFound
|
|
autoload :DoubleRenderError
|
|
autoload :Error
|
|
end
|
|
end
|