Method: ActionDispatch::Flash::FlashHash.from_session_value

Defined in:
actionpack/lib/action_dispatch/middleware/flash.rb

.from_session_value(value) ⇒ Object

:nodoc:



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'actionpack/lib/action_dispatch/middleware/flash.rb', line 122

def self.from_session_value(value) # :nodoc:
  case value
  when FlashHash # Rails 3.1, 3.2
    flashes = value.instance_variable_get(:@flashes)
    if discard = value.instance_variable_get(:@used)
      flashes.except!(*discard)
    end
    new(flashes, flashes.keys)
  when Hash # Rails 4.0
    flashes = value["flashes"]
    if discard = value["discard"]
      flashes.except!(*discard)
    end
    new(flashes, flashes.keys)
  else
    new
  end
end