diff options
Diffstat (limited to 'actionpack/lib/action_controller/base.rb')
-rw-r--r-- | actionpack/lib/action_controller/base.rb | 90 |
1 files changed, 46 insertions, 44 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 46a175d2fa..1dfc240029 100644 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -2,48 +2,59 @@ module ActionController class Base < Metal abstract! - include AbstractController::Layouts - include AbstractController::Translation + def self.without_modules(*modules) + modules = modules.map do |m| + m.is_a?(Symbol) ? ActionController.const_get(m) : m + end - include ActionController::Helpers - - include ActionController::HideActions - include ActionController::UrlFor - include ActionController::Redirecting - include ActionController::Rendering - include ActionController::Renderers::All - include ActionController::ConditionalGet - include ActionController::RackDelegation + MODULES - modules + end - # Legacy modules - include SessionManagement - include ActionController::Caching - include ActionController::MimeResponds - include ActionController::PolymorphicRoutes + MODULES = [ + AbstractController::Layouts, + AbstractController::Translation, - # Rails 2.x compatibility - include ActionController::Compatibility - include ActionController::ImplicitRender + Helpers, + HideActions, + UrlFor, + Redirecting, + Rendering, + Renderers::All, + ConditionalGet, + RackDelegation, + SessionManagement, + Caching, + MimeResponds, + PolymorphicRoutes, + ImplicitRender, + + Cookies, + Flash, + Verification, + RequestForgeryProtection, + Streaming, + RecordIdentifier, + HttpAuthentication::Basic::ControllerMethods, + HttpAuthentication::Digest::ControllerMethods, + + # Add instrumentations hooks at the bottom, to ensure they instrument + # all the methods properly. + Instrumentation, - include ActionController::Cookies - include ActionController::Flash - include ActionController::Verification - include ActionController::RequestForgeryProtection - include ActionController::Streaming - include ActionController::RecordIdentifier - include ActionController::HttpAuthentication::Basic::ControllerMethods - include ActionController::HttpAuthentication::Digest::ControllerMethods + # Before callbacks should also be executed the earliest as possible, so + # also include them at the bottom. + AbstractController::Callbacks, - # Add instrumentations hooks at the bottom, to ensure they instrument - # all the methods properly. - include ActionController::Instrumentation + # The same with rescue, append it at the end to wrap as much as possible. + Rescue + ] - # Before callbacks should also be executed the earliest as possible, so - # also include them at the bottom. - include AbstractController::Callbacks + MODULES.each do |mod| + include mod + end - # The same with rescue, append it at the end to wrap as much as possible. - include ActionController::Rescue + # Rails 2.x compatibility + include ActionController::Compatibility def self.inherited(klass) ::ActionController::Base.subclasses << klass.to_s @@ -55,15 +66,6 @@ module ActionController @subclasses ||= [] end - # This method has been moved to ActionDispatch::Request.filter_parameters - def self.filter_parameter_logging(*args, &block) - ActiveSupport::Deprecation.warn("Setting filter_parameter_logging in ActionController is deprecated and has no longer effect, please set 'config.filter_parameters' in config/application.rb instead", caller) - filter = Rails.application.config.filter_parameters - filter.concat(args) - filter << block if block - filter - end - ActiveSupport.run_load_hooks(:action_controller, self) end end |