Class: ActionController::Flash::FlashHash
- Inherits:
-
Hash
- Object
- Hash
- ActionController::Flash::FlashHash
- Defined in:
- lib/rails_4_session_flash_backport/rails2/flash_hash.rb,
lib/rails_4_session_flash_backport/rails3/flash_hash.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
._load(args) ⇒ Object
69 70 71 |
# File 'lib/rails_4_session_flash_backport/rails3/flash_hash.rb', line 69 def self._load(args) {} end |
.from_session_value(value) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rails_4_session_flash_backport/rails2/flash_hash.rb', line 8 def self.from_session_value(value) flash = case value when FlashHash # Rails 2.3 value when ::ActionDispatch::Flash::FlashHash # Rails 3.2 flashes = value.instance_variable_get(:@flashes) || {} used_set = value.instance_variable_get(:@used) || [] used = Hash[flashes.keys.map{|k| [k, used_set.include?(k)] }] new_from_values(flashes, used) when Hash # Rails 4.0 flashes = value['flashes'] || {} discard = value['discard'] used = Hash[flashes.keys.map{|k| [k, discard.include?(k)] }] new_from_values(flashes, used) else new end flash end |
Instance Method Details
#store(session, key = "flash") ⇒ Object
35 36 37 |
# File 'lib/rails_4_session_flash_backport/rails2/flash_hash.rb', line 35 def store(session, key = "flash") session[key] = to_session_value end |
#to_session_value ⇒ Object
29 30 31 32 33 |
# File 'lib/rails_4_session_flash_backport/rails2/flash_hash.rb', line 29 def to_session_value return nil if empty? rails_3_discard_list = @used.map{|k,v| k if v}.compact {'discard' => rails_3_discard_list, 'flashes' => Hash[to_a]} end |