From d36fc1a41357f07deb492d4dacabd2bf4d1cdef1 Mon Sep 17 00:00:00 2001 From: Iain Hecker Date: Sat, 9 Jul 2011 12:15:22 +0200 Subject: [PATCH] Use a default for flash_now, enabling it to be set to false. The previous behavior to never set flash.now can now be used again. --- lib/responders/flash_responder.rb | 2 +- test/flash_responder_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/responders/flash_responder.rb b/lib/responders/flash_responder.rb index 31ea6be..6431672 100644 --- a/lib/responders/flash_responder.rb +++ b/lib/responders/flash_responder.rb @@ -85,7 +85,7 @@ def initialize(controller, resources, options={}) @flash = options.delete(:flash) @notice = options.delete(:notice) @alert = options.delete(:alert) - @flash_now = options.delete(:flash_now) || :on_failure + @flash_now = options.delete(:flash_now) { :on_failure } end def to_html diff --git a/test/flash_responder_test.rb b/test/flash_responder_test.rb index 47644b7..f517bf4 100644 --- a/test/flash_responder_test.rb +++ b/test/flash_responder_test.rb @@ -30,6 +30,11 @@ def another respond_with(@resource, :notice => "Yes, notice this!", :alert => "Warning, warning!") end + def flexible + options = params[:responder_options] || {} + respond_with(@resource, options) + end + protected def interpolation_options @@ -140,6 +145,12 @@ def test_sets_flash_now_on_failure_by_default assert_flash_now :alert end + def test_never_set_flash_now + post :flexible, :fail => true, :responder_options => { :flash_now => false, :alert => "Warning" } + assert flash[:alert].present?, "Flash should be present" + assert_not_flash_now :alert + end + # If we have flash.now, it's always marked as used. def assert_flash_now(k) assert flash.instance_variable_get(:@used).include?(k.to_sym),