diff options
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_controller/metal/flash.rb | 8 | ||||
-rw-r--r-- | actionpack/test/controller/flash_test.rb | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/metal/flash.rb b/actionpack/lib/action_controller/metal/flash.rb index 1ecee811fb..380f2e9591 100644 --- a/actionpack/lib/action_controller/metal/flash.rb +++ b/actionpack/lib/action_controller/metal/flash.rb @@ -33,12 +33,10 @@ module ActionController #:nodoc: types.each do |type| next if _flash_types.include?(type) - if respond_to? :helper_method - define_method(type) do - request.flash[type] - end - helper_method type + define_method(type) do + request.flash[type] end + helper_method(type) if respond_to?(:helper_method) self._flash_types += [type] end diff --git a/actionpack/test/controller/flash_test.rb b/actionpack/test/controller/flash_test.rb index a4330897cf..409a4ec2e6 100644 --- a/actionpack/test/controller/flash_test.rb +++ b/actionpack/test/controller/flash_test.rb @@ -343,11 +343,18 @@ class FlashIntegrationTest < ActionDispatch::IntegrationTest end def test_flash_usable_in_metal_without_helper + controller_class = nil + assert_nothing_raised do - Class.new ActionController::Metal do + controller_class = Class.new(ActionController::Metal) do include ActionController::Flash end end + + controller = controller_class.new + + assert_respond_to controller, :alert + assert_respond_to controller, :notice end private |