Added a reader for flash.now, so it's possible to do stuff like flash.now[:alert] ||= 'New if not set' (closes #2422) [Caio Chassot]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2747 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson 2005-10-26 13:14:10 +00:00
parent 0d52abfd0e
commit 07c494ae24
3 changed files with 15 additions and 0 deletions

@ -1,3 +1,8 @@
*SVN*
* Added a reader for flash.now, so it's possible to do stuff like flash.now[:alert] ||= 'New if not set' #2422 [Caio Chassot]
*1.10.2* (October 26th, 2005)
* Reset template variables after using render_to_string [skaes@web.de]

@ -40,6 +40,10 @@ def []=(k, v)
@flash.discard(k)
v
end
def [](k)
@flash[k]
end
end
class FlashHash < Hash

@ -9,6 +9,9 @@ def set_flash
def set_flash_now
flash.now["that"] = "hello"
flash.now["foo"] ||= "bar"
flash.now["foo"] ||= "err"
@flashy = flash.now["that"]
@flash_copy = {}.update flash
render :inline => "hello"
end
@ -75,10 +78,13 @@ def test_flash_now
@request.action = "set_flash_now"
response = process_request
assert_equal "hello", response.template.assigns["flash_copy"]["that"]
assert_equal "bar" , response.template.assigns["flash_copy"]["foo"]
assert_equal "hello", response.template.assigns["flashy"]
@request.action = "attempt_to_use_flash_now"
first_response = process_request
assert_nil first_response.template.assigns["flash_copy"]["that"]
assert_nil first_response.template.assigns["flash_copy"]["foo"]
assert_nil first_response.template.assigns["flashy"]
end