Module: Ramaze::Helper::Flash
- Defined in:
- lib/ramaze/helper/flash.rb
Overview
The purpose of this class is to provide an easy way of setting/retrieving from the current flash.
Flash is a way to keep a temporary pairs of keys and values for the duration of two requests, the current and following.
Very vague Example:
On the first request, for example on registering:
flash[:error] = "You should reconsider your username, it's taken already"
redirect R(self, :register)
This is the request from the redirect:
do_stuff if flash[:error]
On the request after this, flash is gone.
Instance Method Summary collapse
-
#flash ⇒ Object
answers with Session.current.flash.
-
#flashbox(tag = Helper::Flash.trait[:tag]) ⇒ Object
Use in your template to display all flash messages that may be stored.
Instance Method Details
#flash ⇒ Object
answers with Session.current.flash
29 30 31 |
# File 'lib/ramaze/helper/flash.rb', line 29 def flash Session.current.flash end |
#flashbox(tag = Helper::Flash.trait[:tag]) ⇒ Object
Use in your template to display all flash messages that may be stored. For example, given you stored:
flash # => { :error => 'Pleae enter your name'
:info => 'Do you see the fnords?' }
Then a flashbox would display:
<div class='flash' id='flash_error'>Please enter your name</div>
<div class='flash' id='flash_info'>Do you see the fnords?</div>
This is designed to be customized permanently or per usage:
flashbox("<div class='flash_%key'>%value</div>")
Where any occurrence of %key and %value will be replaced by the actual contents of each element of flash
51 52 53 54 55 56 57 |
# File 'lib/ramaze/helper/flash.rb', line 51 def flashbox(tag = Helper::Flash.trait[:tag]) flash.map{|key, value| [key.to_s, value.to_s] }.sort.map{|(key, value)| tag.gsub(/%key/, key.to_s).gsub(/%value/, value.to_s) }.join("\n") end |