Skip to content
Browse files

Fix setting helpers_path to a string or pathname

  • Loading branch information...
1 parent 64c75d6 commit 81f398b804a68c8090c0fbea20f50c0ae253b708 @jeremy jeremy committed Jul 7, 2010
View
5 actionpack/lib/action_controller/metal/helpers.rb
@@ -1,3 +1,4 @@
+require 'active_support/core_ext/array/wrap'
require 'active_support/core_ext/class/attribute'
module ActionController
@@ -64,7 +65,7 @@ def helpers_dir
def helpers_dir=(value)
ActiveSupport::Deprecation.warn "helpers_dir= is deprecated, use helpers_path= instead", caller
- self.helpers_path = Array(value)
+ self.helpers_path = Array.wrap(value)
end
# Declares helper accessors for controller attributes. For example, the
@@ -103,7 +104,7 @@ def modules_for_helpers(args)
# Extract helper names from files in app/helpers/**/*_helper.rb
def all_application_helpers
helpers = []
- helpers_path.each do |path|
+ Array.wrap(helpers_path).each do |path|
extract = /^#{Regexp.quote(path.to_s)}\/?(.*)_helper.rb$/
helpers += Dir["#{path}/**/*_helper.rb"].map { |file| file.sub(extract, '\1') }
end
View
2 actionpack/test/abstract/helper_test.rb
@@ -1,6 +1,6 @@
require 'abstract_unit'
-ActionController::Base.helpers_path = [File.dirname(__FILE__) + '/../fixtures/helpers']
+ActionController::Base.helpers_path = File.expand_path('../../fixtures/helpers', __FILE__)
module AbstractController
module Testing
View
6 actionpack/test/controller/helper_test.rb
@@ -1,7 +1,7 @@
require 'abstract_unit'
require 'active_support/core_ext/kernel/reporting'
-ActionController::Base.helpers_path = [File.dirname(__FILE__) + '/../fixtures/helpers']
+ActionController::Base.helpers_path = File.expand_path('../../fixtures/helpers', __FILE__)
module Fun
class GamesController < ActionController::Base
@@ -106,7 +106,7 @@ def test_all_helpers
end
def test_all_helpers_with_alternate_helper_dir
- @controller_class.helpers_path = [File.dirname(__FILE__) + '/../fixtures/alternate_helpers']
+ @controller_class.helpers_path = File.expand_path('../../fixtures/alternate_helpers', __FILE__)
# Reload helpers
@controller_class._helpers = Module.new
@@ -143,7 +143,7 @@ def test_deprecation
assert_equal ["some/foo/bar"], ActionController::Base.helpers_dir
end
ensure
- ActionController::Base.helpers_path = [File.dirname(__FILE__) + '/../fixtures/helpers']
+ ActionController::Base.helpers_path = File.expand_path('../../fixtures/helpers', __FILE__)
end
private

0 comments on commit 81f398b

Please sign in to comment.
Something went wrong with that request. Please try again.