Class: Innate::Session::Flash
- Inherits:
-
Object
- Object
- Innate::Session::Flash
- Includes:
- Enumerable
- Defined in:
- /home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb
Overview
The purpose of this class is to act as a unifier of the previous and current flash.
Flash means pairs of keys and values that are held only over one request/response cycle. So you can assign a key/value in the current session and retrieve it in the current and following request.
Please see the Innate::Helper::Flash for details on the usage in your application.
Instance Method Summary (collapse)
-
- (Object) [](key)
flash[key] in your Controller.
-
- (Object) []=(key, value)
flash[key] = value in your Controller.
-
- (Object) combined
combined key/value pairs of previous and current current keys overshadow the old ones.
-
- (Object) current
the current session[:FLASH].
-
- (Object) delete(key)
Delete a key.
-
- (Object) each(&block)
iterate over the combined session.
-
- (Boolean) empty?
check if combined is empty.
-
- (Flash) initialize(session)
constructor
A new instance of Flash.
-
- (Object) inspect
Inspects combined.
-
- (Object) merge(hash)
merge on current.
-
- (Object) merge!(hash)
merge into current.
-
- (Object) previous
the current session[:FLASH_PREVIOUS].
-
- (Object) rotate!
Rotation means current values are assigned as old values for the next request.
-
- (Object) session
private
Associated session object.
Constructor Details
- (Flash) initialize(session)
Returns a new instance of Flash
16 17 18 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 16 def initialize(session) @session = session end |
Instance Method Details
- (Object) [](key)
flash[key] in your Controller
42 43 44 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 42 def [](key) combined[key] end |
- (Object) []=(key, value)
flash[key] = value in your Controller
47 48 49 50 51 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 47 def []=(key, value) prev = session[:FLASH] || {} prev[key] = value session[:FLASH] = prev end |
- (Object) combined
combined key/value pairs of previous and current current keys overshadow the old ones.
37 38 39 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 37 def combined previous.merge(current) end |
- (Object) current
the current session[:FLASH]
31 32 33 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 31 def current session[:FLASH] ||= {} end |
- (Object) delete(key)
Delete a key
59 60 61 62 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 59 def delete(key) previous.delete(key) current.delete(key) end |
- (Object) each(&block)
iterate over the combined session
21 22 23 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 21 def each(&block) combined.each(&block) end |
- (Boolean) empty?
check if combined is empty
65 66 67 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 65 def empty? combined.empty? end |
- (Object) inspect
Inspects combined
54 55 56 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 54 def inspect combined.inspect end |
- (Object) merge(hash)
merge on current
75 76 77 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 75 def merge(hash) current.merge(hash) end |
- (Object) merge!(hash)
merge into current
70 71 72 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 70 def merge!(hash) current.merge!(hash) end |
- (Object) previous
the current session[:FLASH_PREVIOUS]
26 27 28 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 26 def previous session[:FLASH_PREVIOUS] || {} end |
- (Object) rotate!
Rotation means current values are assigned as old values for the next request.
81 82 83 84 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 81 def rotate! old = session.delete(:FLASH) session[:FLASH_PREVIOUS] = old if old end |
- (Object) session (private)
Associated session object
89 90 91 |
# File '/home/manveru/github/ramaze/ramaze.net/tmp/git/innate/lib/innate/session/flash.rb', line 89 def session @session end |