aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/abstract/helpers.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-08-07 16:10:17 +0200
committerJosé Valim <jose.valim@gmail.com>2009-08-07 16:10:17 +0200
commitdac8927b0576bff89ba3a4fcbf502dffc9b39e89 (patch)
tree58c25132a52ef5cc56f406f8e2df416c5f2776a6 /actionpack/lib/action_controller/abstract/helpers.rb
parent072c87b532a0bfb334787928248863a2561dc849 (diff)
parent606e950ccbd02a10f724c73543575a2a4e1ed8cb (diff)
downloadrails-dac8927b0576bff89ba3a4fcbf502dffc9b39e89.tar.gz
rails-dac8927b0576bff89ba3a4fcbf502dffc9b39e89.tar.bz2
rails-dac8927b0576bff89ba3a4fcbf502dffc9b39e89.zip
Merge branch 'master' of git://github.com/rails/rails into old
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