diff options
author | José Valim <jose.valim@gmail.com> | 2010-08-26 18:17:50 -0300 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-08-26 18:20:22 -0300 |
commit | 625f7b5a5b12df3e7684b1be29c71c1f79a7c7b7 (patch) | |
tree | 3ac26d40469e91bb11e6a20d2f48854e215e92ed | |
parent | 737abf25bbafbf501dee4144abf13657217da0d2 (diff) | |
download | rails-625f7b5a5b12df3e7684b1be29c71c1f79a7c7b7.tar.gz rails-625f7b5a5b12df3e7684b1be29c71c1f79a7c7b7.tar.bz2 rails-625f7b5a5b12df3e7684b1be29c71c1f79a7c7b7.zip |
Be sure to call helper :all just on direct children. (Tests by Jesse Storimer)
-rw-r--r-- | actionpack/lib/abstract_controller.rb | 1 | ||||
-rw-r--r-- | actionpack/lib/action_controller/base.rb | 2 | ||||
-rw-r--r-- | actionpack/test/controller/helper_test.rb | 12 | ||||
-rw-r--r-- | actionpack/test/fixtures/helpers/just_me_helper.rb | 3 | ||||
-rw-r--r-- | actionpack/test/fixtures/helpers/me_too_helper.rb | 3 |
5 files changed, 20 insertions, 1 deletions
diff --git a/actionpack/lib/abstract_controller.rb b/actionpack/lib/abstract_controller.rb index c565c940a1..f8fc79936f 100644 --- a/actionpack/lib/abstract_controller.rb +++ b/actionpack/lib/abstract_controller.rb @@ -2,6 +2,7 @@ activesupport_path = File.expand_path('../../../activesupport/lib', __FILE__) $:.unshift(activesupport_path) if File.directory?(activesupport_path) && !$:.include?(activesupport_path) require 'action_pack' +require 'active_support/concern' require 'active_support/ruby/shim' require 'active_support/dependencies/autoload' require 'active_support/core_ext/class/attribute' diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 165bf089c0..d8d3a2335a 100644 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -223,7 +223,7 @@ module ActionController def self.inherited(klass) super - klass.helper :all + klass.helper :all if klass.superclass == ActionController::Base end ActiveSupport.run_load_hooks(:action_controller, self) diff --git a/actionpack/test/controller/helper_test.rb b/actionpack/test/controller/helper_test.rb index ad66f138eb..4f8ff4140f 100644 --- a/actionpack/test/controller/helper_test.rb +++ b/actionpack/test/controller/helper_test.rb @@ -25,6 +25,13 @@ class AllHelpersController < ActionController::Base helper :all end +class JustMeController < ActionController::Base + clear_helpers +end + +class MeTooController < JustMeController +end + module LocalAbcHelper def a() end def b() end @@ -92,6 +99,11 @@ class HelperTest < ActiveSupport::TestCase # assert_equal 'test: baz', Fun::PdfController.process(request, response).body end + def test_default_helpers_only + assert_equal [JustMeHelper], JustMeController._helpers.ancestors.reject(&:anonymous?) + assert_equal [MeTooHelper, JustMeHelper], MeTooController._helpers.ancestors.reject(&:anonymous?) + end + def test_all_helpers methods = AllHelpersController._helpers.instance_methods.map {|m| m.to_s} diff --git a/actionpack/test/fixtures/helpers/just_me_helper.rb b/actionpack/test/fixtures/helpers/just_me_helper.rb new file mode 100644 index 0000000000..b140a7b9b4 --- /dev/null +++ b/actionpack/test/fixtures/helpers/just_me_helper.rb @@ -0,0 +1,3 @@ +module JustMeHelper + def me() "mine!" end +end
\ No newline at end of file diff --git a/actionpack/test/fixtures/helpers/me_too_helper.rb b/actionpack/test/fixtures/helpers/me_too_helper.rb new file mode 100644 index 0000000000..ce56042143 --- /dev/null +++ b/actionpack/test/fixtures/helpers/me_too_helper.rb @@ -0,0 +1,3 @@ +module MeTooHelper + def me() "me too!" end +end
\ No newline at end of file |