aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/helpers.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2008-12-07 03:05:03 +0100
committerPratik Naik <pratiknaik@gmail.com>2008-12-07 03:05:03 +0100
commit8f1c229571b4db8dda144bf6eaa193799309e817 (patch)
tree592710207a614428d5cb809f6e13c8b546b58969 /actionpack/lib/action_controller/helpers.rb
parent601e40e744f44fe8819be100a8c472ea161d13ab (diff)
parent9eca588bdfbb41f6b48477025d1cd8eea4a38296 (diff)
downloadrails-8f1c229571b4db8dda144bf6eaa193799309e817.tar.gz
rails-8f1c229571b4db8dda144bf6eaa193799309e817.tar.bz2
rails-8f1c229571b4db8dda144bf6eaa193799309e817.zip
Merge commit 'mainstream/master'
Conflicts: actionmailer/lib/action_mailer/base.rb actionpack/lib/action_controller/base.rb actionpack/lib/action_controller/mime_type.rb railties/doc/guides/html/activerecord_validations_callbacks.html railties/doc/guides/html/caching_with_rails.html railties/doc/guides/html/command_line.html railties/doc/guides/html/configuring.html railties/doc/guides/html/creating_plugins.html railties/doc/guides/html/finders.html railties/doc/guides/html/routing_outside_in.html railties/doc/guides/source/activerecord_validations_callbacks.txt railties/doc/guides/source/caching_with_rails.txt railties/doc/guides/source/command_line.txt railties/doc/guides/source/creating_plugins/acts_as_yaffle.txt railties/doc/guides/source/creating_plugins/controllers.txt railties/doc/guides/source/creating_plugins/core_ext.txt railties/doc/guides/source/creating_plugins/helpers.txt railties/doc/guides/source/creating_plugins/index.txt railties/doc/guides/source/creating_plugins/migration_generator.txt railties/doc/guides/source/creating_plugins/models.txt railties/doc/guides/source/creating_plugins/odds_and_ends.txt railties/doc/guides/source/creating_plugins/routes.txt railties/doc/guides/source/finders.txt railties/doc/guides/source/routing_outside_in.txt railties/doc/guides/source/testing_rails_applications.txt
Diffstat (limited to 'actionpack/lib/action_controller/helpers.rb')
-rw-r--r--actionpack/lib/action_controller/helpers.rb16
1 files changed, 10 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/helpers.rb b/actionpack/lib/action_controller/helpers.rb
index 9cffa07b26..402750c57d 100644
--- a/actionpack/lib/action_controller/helpers.rb
+++ b/actionpack/lib/action_controller/helpers.rb
@@ -1,13 +1,17 @@
+require 'active_support/dependencies'
+
# FIXME: helper { ... } is broken on Ruby 1.9
module ActionController #:nodoc:
module Helpers #:nodoc:
- HELPERS_DIR = (defined?(RAILS_ROOT) ? "#{RAILS_ROOT}/app/helpers" : "app/helpers")
-
def self.included(base)
# Initialize the base module to aggregate its helpers.
base.class_inheritable_accessor :master_helper_module
base.master_helper_module = Module.new
+ # Set the default directory for helpers
+ base.class_inheritable_accessor :helpers_dir
+ base.helpers_dir = (defined?(RAILS_ROOT) ? "#{RAILS_ROOT}/app/helpers" : "app/helpers")
+
# Extend base with class methods to declare helpers.
base.extend(ClassMethods)
@@ -88,8 +92,8 @@ module ActionController #:nodoc:
# When the argument is a module it will be included directly in the template class.
# helper FooHelper # => includes FooHelper
#
- # When the argument is the symbol <tt>:all</tt>, the controller will include all helpers from
- # <tt>app/helpers/**/*.rb</tt> under RAILS_ROOT.
+ # When the argument is the symbol <tt>:all</tt>, the controller will include all helpers beneath
+ # <tt>ActionController::Base.helpers_dir</tt> (defaults to <tt>app/helpers/**/*.rb</tt> under RAILS_ROOT).
# helper :all
#
# Additionally, the +helper+ class method can receive and evaluate a block, making the methods defined available
@@ -213,8 +217,8 @@ module ActionController #:nodoc:
# Extract helper names from files in app/helpers/**/*.rb
def all_application_helpers
- extract = /^#{Regexp.quote(HELPERS_DIR)}\/?(.*)_helper.rb$/
- Dir["#{HELPERS_DIR}/**/*_helper.rb"].map { |file| file.sub extract, '\1' }
+ extract = /^#{Regexp.quote(helpers_dir)}\/?(.*)_helper.rb$/
+ Dir["#{helpers_dir}/**/*_helper.rb"].map { |file| file.sub extract, '\1' }
end
end
end