Object
Implementation detail: please do not change the signature of the FlashHash class. Doing that will likely affect all Rails apps in production as the FlashHash currently stored in their sessions will become invalid.
# File lib/action_dispatch/middleware/flash.rb, line 100 100: def [](k) 101: @flashes[k] 102: end
Convenience accessor for flash[:alert]
# File lib/action_dispatch/middleware/flash.rb, line 195 195: def alert 196: self[:alert] 197: end
Convenience accessor for flash[:alert]=
# File lib/action_dispatch/middleware/flash.rb, line 200 200: def alert=(message) 201: self[:alert] = message 202: end
# File lib/action_dispatch/middleware/flash.rb, line 131 131: def clear 132: @flashes.clear 133: end
# File lib/action_dispatch/middleware/flash.rb, line 118 118: def delete(key) 119: @flashes.delete key 120: self 121: end
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
# File lib/action_dispatch/middleware/flash.rb, line 173 173: def discard(k = nil) 174: use(k) 175: end
# File lib/action_dispatch/middleware/flash.rb, line 135 135: def each(&block) 136: @flashes.each(&block) 137: end
# File lib/action_dispatch/middleware/flash.rb, line 127 127: def empty? 128: @flashes.empty? 129: end
# File lib/action_dispatch/middleware/flash.rb, line 87 87: def initialize_copy(other) 88: if other.now_is_loaded? 89: @now = other.now.dup 90: @now.flash = self 91: end 92: super 93: end
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
# File lib/action_dispatch/middleware/flash.rb, line 165 165: def keep(k = nil) 166: use(k, false) 167: end
# File lib/action_dispatch/middleware/flash.rb, line 114 114: def key?(name) 115: @flashes.key? name 116: end
# File lib/action_dispatch/middleware/flash.rb, line 110 110: def keys 111: @flashes.keys 112: end
Convenience accessor for flash[:notice]
# File lib/action_dispatch/middleware/flash.rb, line 205 205: def notice 206: self[:notice] 207: end
Convenience accessor for flash[:notice]=
# File lib/action_dispatch/middleware/flash.rb, line 210 210: def notice=(message) 211: self[:notice] = message 212: end
Sets a flash that will not be available to the next action, only to the current.
flash.now[:message] = "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'].
# File lib/action_dispatch/middleware/flash.rb, line 157 157: def now 158: @now ||= FlashNow.new(self) 159: end
# File lib/action_dispatch/middleware/flash.rb, line 216 216: def now_is_loaded? 217: !!@now 218: end
Used internally by the keep and discard methods
use() # marks the entire flash as used use('msg') # marks the "msg" entry as used use(nil, false) # marks the entire flash as unused (keeps it around for one more action) use('msg', false) # marks the "msg" entry as unused (keeps it around for one more action)
Returns the single value for the key you asked to be marked (un)used or the FlashHash itself if no key is passed.
# File lib/action_dispatch/middleware/flash.rb, line 227 227: def use(key = nil, used = true) 228: Array(key || keys).each { |k| used ? @used << k : @used.delete(k) } 229: return key ? self[key] : self 230: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.