aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/abstract/helpers.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller/abstract/helpers.rb')
-rw-r--r--actionpack/lib/action_controller/abstract/helpers.rb82
1 files changed, 0 insertions, 82 deletions
diff --git a/actionpack/lib/action_controller/abstract/helpers.rb b/actionpack/lib/action_controller/abstract/helpers.rb
deleted file mode 100644
index 5efa37fde3..0000000000
--- a/actionpack/lib/action_controller/abstract/helpers.rb
+++ /dev/null
@@ -1,82 +0,0 @@
-module AbstractController
- module Helpers
- extend ActiveSupport::Concern
-
- include Renderer
-
- included do
- extlib_inheritable_accessor(:_helpers) { Module.new }
- end
-
- module ClassMethods
- # When a class is inherited, wrap its helper module in a new module.
- # This ensures that the parent class's module can be changed
- # independently of the child class's.
- def inherited(klass)
- helpers = _helpers
- klass._helpers = Module.new { include helpers }
-
- super
- end
-
- # Declare a controller method as a helper. For example, the following
- # makes the +current_user+ controller method available to the view:
- # class ApplicationController < ActionController::Base
- # helper_method :current_user, :logged_in?
- #
- # def current_user
- # @current_user ||= User.find_by_id(session[:user])
- # end
- #
- # def logged_in?
- # current_user != nil
- # end
- # end
- #
- # In a view:
- # <% if logged_in? -%>Welcome, <%= current_user.name %><% end -%>
- #
- # ==== Parameters
- # meths<Array[#to_s]>:: The name of a method on the controller
- # to be made available on the view.
- def helper_method(*meths)
- meths.flatten.each do |meth|
- _helpers.class_eval <<-ruby_eval, __FILE__, __LINE__ + 1
- def #{meth}(*args, &blk)
- controller.send(%(#{meth}), *args, &blk)
- end
- ruby_eval
- end
- end
-
- # Make a number of helper modules part of this class' default
- # helpers.
- #
- # ==== Parameters
- # *args<Array[Module]>:: Modules to be included
- # block<Block>:: Evalulate the block in the context
- # of the helper module. Any methods defined in the block
- # will be helpers.
- def helper(*args, &block)
- args.flatten.each do |arg|
- case arg
- when Module
- add_template_helper(arg)
- end
- end
- _helpers.module_eval(&block) if block_given?
- end
-
- private
- # Makes all the (instance) methods in the helper module available to templates
- # rendered through this controller.
- #
- # ==== Parameters
- # mod<Module>:: The module to include into the current helper module
- # for the class
- def add_template_helper(mod)
- _helpers.module_eval { include mod }
- end
- end
- end
-end