1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fix setting helpers_path to a string or pathname

This commit is contained in:
Jeremy Kemper 2010-07-07 12:03:01 -07:00
parent 64c75d6618
commit 81f398b804
3 changed files with 7 additions and 6 deletions

View file

@ -1,3 +1,4 @@
require 'active_support/core_ext/array/wrap'
require 'active_support/core_ext/class/attribute'
module ActionController
@ -64,7 +65,7 @@ module ActionController
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 @@ module ActionController
# 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 file

@ -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 file

@ -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 @@ class HelperTest < ActiveSupport::TestCase
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 @@ class HelperTest < ActiveSupport::TestCase
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