Class: ActionDispatch::Flash::FlashHash
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
::Enumerable
|
|
Inherits: | Object |
Defined in: | actionpack/lib/action_dispatch/middleware/flash.rb |
Constant Summary
::Enumerable
- Included
INDEX_WITH_DEFAULT
Instance Attribute Summary
-
#alert
rw
Convenience accessor for
flash[:alert]
. -
#alert=(message)
rw
Convenience accessor for
flash[:alert]=
. - #empty? ⇒ Boolean readonly
-
#notice
rw
Convenience accessor for
flash[:notice]
. -
#notice=(message)
rw
Convenience accessor for
flash[:notice]=
.
::Enumerable
- Included
#many? | Returns |
Instance Method Summary
- #[](k)
- #[]=(k, v)
- #clear
- #delete(key)
-
#discard(k = nil)
Marks the entire flash or a single flash entry to be discarded by the end of the current action:
- #each(&block)
- #initialize_copy(other)
-
#keep(k = nil)
Keeps either the entire current flash or a specific flash entry available for the next action:
- #key?(name) ⇒ Boolean
- #keys
-
#merge!(h)
Alias for #update.
-
#now
Sets a flash that will not be available to the next action, only to the current.
- #to_hash
- #stringify_array(array) private
::Enumerable
- Included
#compact_blank | Returns a new |
#exclude? | The negative of the |
#excluding | Returns a copy of the enumerable excluding the specified elements. |
#including | Returns a new array that includes the passed elements. |
#index_by | Convert an enumerable to a hash, using the block result as the key and the element as the value. |
#index_with | Convert an enumerable to a hash, using the element as the key and the block result as the value. |
#pick | Extract the given key from the first element in the enumerable. |
#pluck | Extract the given key from each element in the enumerable. |
#sum | Calculates a sum from the elements. |
#without | Alias for |
Instance Attribute Details
#alert (rw)
Convenience accessor for flash[:alert]
.
# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 262
def alert self[:alert] end
#alert=(message) (rw)
Convenience accessor for flash[:alert]=
.
# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 267
def alert=( ) self[:alert] = end
#empty? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 190
def empty? @flashes.empty? end
#notice (rw)
Convenience accessor for flash[:notice]
.
# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 272
def notice self[:notice] end
#notice=(message) (rw)
Convenience accessor for flash[:notice]=
.
# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 277
def notice=( ) self[:notice] = end
Instance Method Details
#[](k)
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 161
def [](k) @flashes[k.to_s] end
#[]=(k, v)
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 155
def []=(k, v) k = k.to_s @discard.delete k @flashes[k] = v end
#clear
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 194
def clear @discard.clear @flashes.clear end
#delete(key)
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 179
def delete(key) key = key.to_s @discard.delete key @flashes.delete key self end
#discard(k = nil)
Marks the entire flash or a single flash entry to be discarded by the end of the current action:
flash.discard # discard the entire flash at the end of the current action
flash.discard(:warning) # discard only the "warning" entry at the end of the current action
#each(&block)
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 199
def each(&block) @flashes.each(&block) end
#initialize_copy(other)
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 147
def initialize_copy(other) if other.now_is_loaded? @now = other.now.dup @now.flash = self end super end
#keep(k = nil)
Keeps either the entire current flash or a specific flash entry available for the next action:
flash.keep # keeps the entire flash
flash.keep(:notice) # keeps only the "notice" entry, the rest of the flash is discarded
#key?(name) ⇒ Boolean
# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 175
def key?(name) @flashes.key? name.to_s end
#keys
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 171
def keys @flashes.keys end
#merge!(h)
Alias for #update.
# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 203
alias :merge! :update
#now
Sets a flash that will not be available to the next action, only to the current.
flash.now[: ] = "Hello current action"
This method enables you to use the flash as a central messaging system in your app. When you need to pass an object to the next action, you use the standard flash assign (#[]=). When you need to pass an object to the current action, you use now
, and your object will vanish when the current action is done.
Entries set via now
are accessed the same way as standard entries: flash['my-key']
.
Also, brings two convenience accessors:
flash.now.alert = "Beware now!"
# Equivalent to flash.now[:alert] = "Beware now!"
flash.now.notice = "Good luck now!"
# Equivalent to flash.now[:notice] = "Good luck now!"
#stringify_array(array) (private)
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 287
def stringify_array(array) # :doc: array.map do |item| item.kind_of?(Symbol) ? item.to_s : item end end
#to_hash
[ GitHub ]# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 186
def to_hash @flashes.dup end