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.

Methods
#
A
C
D
E
I
K
N
T
U
Included Modules
Instance Public methods
[](k)
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 100
100:       def [](k)
101:         @flashes[k]
102:       end
alert()

Convenience accessor for flash[:alert]

     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 195
195:       def alert
196:         self[:alert]
197:       end
alert=(message)

Convenience accessor for flash[:alert]=

     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 200
200:       def alert=(message)
201:         self[:alert] = message
202:       end
clear()
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 131
131:       def clear
132:         @flashes.clear
133:       end
delete(key)
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 118
118:       def delete(key)
119:         @flashes.delete key
120:         self
121:       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
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 173
173:       def discard(k = nil)
174:         use(k)
175:       end
each(&block)
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 135
135:       def each(&block)
136:         @flashes.each(&block)
137:       end
empty?()
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 127
127:       def empty?
128:         @flashes.empty?
129:       end
initialize_copy(other)
    # File actionpack/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
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
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 165
165:       def keep(k = nil)
166:         use(k, false)
167:       end
key?(name)
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 114
114:       def key?(name)
115:         @flashes.key? name
116:       end
keys()
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 110
110:       def keys
111:         @flashes.keys
112:       end
notice()

Convenience accessor for flash[:notice]

     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 205
205:       def notice
206:         self[:notice]
207:       end
notice=(message)

Convenience accessor for flash[:notice]=

     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 210
210:       def notice=(message)
211:         self[:notice] = message
212:       end
now()

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 actionpack/lib/action_dispatch/middleware/flash.rb, line 157
157:       def now
158:         @now ||= FlashNow.new(self)
159:       end
to_hash()
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 123
123:       def to_hash
124:         @flashes.dup
125:       end
Instance Protected methods
now_is_loaded?()
     # File actionpack/lib/action_dispatch/middleware/flash.rb, line 216
216:         def now_is_loaded?
217:           !!@now
218:         end
use(key = nil, used = true)

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 actionpack/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