diff options
author | Piotr Sarnacki <drogus@gmail.com> | 2011-04-25 15:02:41 +0200 |
---|---|---|
committer | Piotr Sarnacki <drogus@gmail.com> | 2011-04-25 15:02:41 +0200 |
commit | d4bea35f1ae458246a9e3bb1c914c5d05b8e9cdf (patch) | |
tree | 8fb6c94cd42b25bd38421a6a2d23072bbcfa20f5 | |
parent | 820c0feda33495cfe68add8c3f25adc515ab3e04 (diff) | |
download | rails-d4bea35f1ae458246a9e3bb1c914c5d05b8e9cdf.tar.gz rails-d4bea35f1ae458246a9e3bb1c914c5d05b8e9cdf.tar.bz2 rails-d4bea35f1ae458246a9e3bb1c914c5d05b8e9cdf.zip |
Make ActionController::Base.modules_for_helpers and ActionController::Base.all_helpers_from_path public methods
-rw-r--r-- | actionpack/lib/abstract_controller/helpers.rb | 22 | ||||
-rw-r--r-- | actionpack/lib/action_controller/metal/helpers.rb | 52 | ||||
-rw-r--r-- | railties/lib/rails/engine.rb | 4 |
3 files changed, 39 insertions, 39 deletions
diff --git a/actionpack/lib/abstract_controller/helpers.rb b/actionpack/lib/abstract_controller/helpers.rb index 20f8601a8e..0ff1c0491a 100644 --- a/actionpack/lib/abstract_controller/helpers.rb +++ b/actionpack/lib/abstract_controller/helpers.rb @@ -112,17 +112,6 @@ module AbstractController default_helper_module! unless anonymous? end - private - # Makes all the (instance) methods in the helper module available to templates - # rendered through this controller. - # - # ==== Parameters - # * <tt>module</tt> - The module to include into the current helper module - # for the class - def add_template_helper(mod) - _helpers.module_eval { include mod } - end - # Returns a list of modules, normalized from the acceptable kinds of # helpers with the following behavior: # @@ -155,6 +144,17 @@ module AbstractController end end + private + # Makes all the (instance) methods in the helper module available to templates + # rendered through this controller. + # + # ==== Parameters + # * <tt>module</tt> - The module to include into the current helper module + # for the class + def add_template_helper(mod) + _helpers.module_eval { include mod } + end + def default_helper_module! module_name = name.sub(/Controller$/, '') module_path = module_name.underscore diff --git a/actionpack/lib/action_controller/metal/helpers.rb b/actionpack/lib/action_controller/metal/helpers.rb index 91a88ab68a..75757db564 100644 --- a/actionpack/lib/action_controller/metal/helpers.rb +++ b/actionpack/lib/action_controller/metal/helpers.rb @@ -76,35 +76,35 @@ module ActionController @helper_proxy ||= ActionView::Base.new.extend(_helpers) end - private - # Overwrite modules_for_helpers to accept :all as argument, which loads - # all helpers in helpers_path. - # - # ==== Parameters - # * <tt>args</tt> - A list of helpers - # - # ==== Returns - # * <tt>array</tt> - A normalized list of modules for the list of helpers provided. - def modules_for_helpers(args) - args += all_application_helpers if args.delete(:all) - super(args) - end + # Overwrite modules_for_helpers to accept :all as argument, which loads + # all helpers in helpers_path. + # + # ==== Parameters + # * <tt>args</tt> - A list of helpers + # + # ==== Returns + # * <tt>array</tt> - A normalized list of modules for the list of helpers provided. + def modules_for_helpers(args) + args += all_application_helpers if args.delete(:all) + super(args) + end - # Extract helper names from files in <tt>app/helpers/**/*_helper.rb</tt> - def all_application_helpers - all_helpers_from_path(helpers_path) + def all_helpers_from_path(path) + helpers = [] + Array.wrap(path).each do |_path| + extract = /^#{Regexp.quote(_path.to_s)}\/?(.*)_helper.rb$/ + helpers += Dir["#{_path}/**/*_helper.rb"].map { |file| file.sub(extract, '\1') } end + helpers.sort! + helpers.uniq! + helpers + end - def all_helpers_from_path(path) - helpers = [] - Array.wrap(path).each do |_path| - extract = /^#{Regexp.quote(_path.to_s)}\/?(.*)_helper.rb$/ - helpers += Dir["#{_path}/**/*_helper.rb"].map { |file| file.sub(extract, '\1') } - end - helpers.sort! - helpers.uniq! - helpers - end + private + # Extract helper names from files in <tt>app/helpers/**/*_helper.rb</tt> + def all_application_helpers + all_helpers_from_path(helpers_path) + end end end end diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index fbd474fa1b..6c1064c609 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -415,8 +415,8 @@ module Rails paths["app/helpers"].existent end - all = ActionController::Base.send(:all_helpers_from_path, helpers_paths) - ActionController::Base.send(:modules_for_helpers, all).each do |mod| + all = ActionController::Base.all_helpers_from_path(helpers_paths) + ActionController::Base.modules_for_helpers(all).each do |mod| helpers.send(:include, mod) end helpers |