aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2015-08-07 16:00:57 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2015-08-07 16:00:57 -0700
commit81cfdf2489fe436bb70e0e44c5683c57d0247850 (patch)
tree233d797b6e42661284897698be5cd7e0a8d13b4f /actionpack/lib/action_dispatch
parent2a3c47ff5d4ed7391d8a2d02a6baa1f1f55a8df3 (diff)
downloadrails-81cfdf2489fe436bb70e0e44c5683c57d0247850.tar.gz
rails-81cfdf2489fe436bb70e0e44c5683c57d0247850.tar.bz2
rails-81cfdf2489fe436bb70e0e44c5683c57d0247850.zip
stop using @_env in the controller instance
Actions are processed through `dispatch`, so they should have the request set on them before any user land code can be executed. Lets stop setting _env on the controller, and give access to it through the `env` method.
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r--actionpack/lib/action_dispatch/http/request.rb8
-rw-r--r--actionpack/lib/action_dispatch/testing/integration.rb2
2 files changed, 9 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/http/request.rb b/actionpack/lib/action_dispatch/http/request.rb
index d785635d1a..c5b07e717f 100644
--- a/actionpack/lib/action_dispatch/http/request.rb
+++ b/actionpack/lib/action_dispatch/http/request.rb
@@ -134,6 +134,14 @@ module ActionDispatch
end
end
+ def controller_instance # :nodoc:
+ env['action_controller.instance'.freeze]
+ end
+
+ def controller_instance=(controller) # :nodoc:
+ env['action_controller.instance'.freeze] = controller
+ end
+
def show_exceptions? # :nodoc:
# We're treating `nil` as "unset", and we want the default setting to be
# `true`. This logic should be extracted to `env_config` and calculated
diff --git a/actionpack/lib/action_dispatch/testing/integration.rb b/actionpack/lib/action_dispatch/testing/integration.rb
index 06605f5b33..0cdc6d4e77 100644
--- a/actionpack/lib/action_dispatch/testing/integration.rb
+++ b/actionpack/lib/action_dispatch/testing/integration.rb
@@ -378,7 +378,7 @@ module ActionDispatch
@html_document = nil
@url_options = nil
- @controller = session.last_request.env['action_controller.instance']
+ @controller = @request.controller_instance
response.status
end