aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/helpers/controller_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionview/lib/action_view/helpers/controller_helper.rb')
-rw-r--r--actionview/lib/action_view/helpers/controller_helper.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/actionview/lib/action_view/helpers/controller_helper.rb b/actionview/lib/action_view/helpers/controller_helper.rb
new file mode 100644
index 0000000000..74ef25f7c1
--- /dev/null
+++ b/actionview/lib/action_view/helpers/controller_helper.rb
@@ -0,0 +1,25 @@
+require 'active_support/core_ext/module/attr_internal'
+
+module ActionView
+ module Helpers
+ # This module keeps all methods and behavior in ActionView
+ # that simply delegates to the controller.
+ module ControllerHelper #:nodoc:
+ attr_internal :controller, :request
+
+ delegate :request_forgery_protection_token, :params, :session, :cookies, :response, :headers,
+ :flash, :action_name, :controller_name, :controller_path, :to => :controller
+
+ def assign_controller(controller)
+ if @_controller = controller
+ @_request = controller.request if controller.respond_to?(:request)
+ @_config = controller.config.inheritable_copy if controller.respond_to?(:config)
+ end
+ end
+
+ def logger
+ controller.logger if controller.respond_to?(:logger)
+ end
+ end
+ end
+end