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,
lib/rails_4_session_flash_backport/rails4/flash_hash.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
._load(args) ⇒ Object
82 83 84 |
# File 'lib/rails_4_session_flash_backport/rails3/flash_hash.rb', line 82 def self._load(args) {} end |
.from_session_value(value) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/rails_4_session_flash_backport/rails2/flash_hash.rb', line 9 def self.from_session_value(value) case value when FlashHash # Rails 2.3 value.tap(&:sweep) when ::ActionDispatch::Flash::FlashHash # Rails 3.2 flashes = value.instance_variable_get(:@flashes) if discard = value.instance_variable_get(:@used).presence flashes.except!(*discard) end new_from_session(flashes) when Hash # Rails 4.0 flashes = value['flashes'] || {} if discard = value['discard'].presence flashes.except!(*discard) end new_from_session(flashes) else new end end |
Instance Method Details
#store(session, key = "flash") ⇒ Object
38 39 40 |
# File 'lib/rails_4_session_flash_backport/rails2/flash_hash.rb', line 38 def store(session, key = "flash") session[key] = to_session_value end |
#to_session_value ⇒ Object
32 33 34 35 36 |
# File 'lib/rails_4_session_flash_backport/rails2/flash_hash.rb', line 32 def to_session_value return nil if empty? discard = @used.select { |key, used| used }.keys {'flashes' => Hash[to_a].except(*discard)} end |