diff options
author | José Valim <jose.valim@gmail.com> | 2011-11-22 07:19:39 -0800 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-11-22 07:19:39 -0800 |
commit | 39ecbfdab9868cbd5166a7b0ee5b59c00389e2bd (patch) | |
tree | a593c0c51564e1f99e813d858312664eb76f6cf1 /actionpack/lib/action_controller | |
parent | 8cae31c800f281212c9c5b5ac0ea2be98c4aa611 (diff) | |
parent | 3a1d51959bf569a7419fe8ab9416b338334b4800 (diff) | |
download | rails-39ecbfdab9868cbd5166a7b0ee5b59c00389e2bd.tar.gz rails-39ecbfdab9868cbd5166a7b0ee5b59c00389e2bd.tar.bz2 rails-39ecbfdab9868cbd5166a7b0ee5b59c00389e2bd.zip |
Merge pull request #3717 from lest/show-exceptions-refactor
Show exceptions refactor: controller should be responsible for choice to show exceptions
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/metal/rescue.rb | 10 | ||||
-rw-r--r-- | actionpack/lib/action_controller/railtie.rb | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/metal/rescue.rb b/actionpack/lib/action_controller/metal/rescue.rb index eb037aa1b0..736ff5b31c 100644 --- a/actionpack/lib/action_controller/metal/rescue.rb +++ b/actionpack/lib/action_controller/metal/rescue.rb @@ -3,6 +3,11 @@ module ActionController #:nodoc: extend ActiveSupport::Concern include ActiveSupport::Rescuable + included do + config_accessor :consider_all_requests_local + self.consider_all_requests_local = false if consider_all_requests_local.nil? + end + def rescue_with_handler(exception) if (exception.respond_to?(:original_exception) && (orig_exception = exception.original_exception) && @@ -12,10 +17,15 @@ module ActionController #:nodoc: super(exception) end + def show_detailed_exceptions? + consider_all_requests_local || request.local? + end + private def process_action(*args) super rescue Exception => exception + request.env['action_dispatch.show_detailed_exceptions'] = show_detailed_exceptions? rescue_with_handler(exception) || raise(exception) end end diff --git a/actionpack/lib/action_controller/railtie.rb b/actionpack/lib/action_controller/railtie.rb index f0c29825ba..de7b837ecc 100644 --- a/actionpack/lib/action_controller/railtie.rb +++ b/actionpack/lib/action_controller/railtie.rb @@ -21,6 +21,8 @@ module ActionController paths = app.config.paths options = app.config.action_controller + options.consider_all_requests_local ||= app.config.consider_all_requests_local + options.assets_dir ||= paths["public"].first options.javascripts_dir ||= paths["public/javascripts"].first options.stylesheets_dir ||= paths["public/stylesheets"].first |