Class: ActionDispatch::Flash::FlashHash

Inherits:
Object
  • Object
show all
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

Constructor Details

#initialize(flashes = {}, discard = []) ⇒ FlashHash

:nodoc:



31
32
33
34
35
36
# File 'lib/rails_4_session_flash_backport/rails3/flash_hash.rb', line 31

def initialize(flashes = {}, discard = []) #:nodoc:
  @used    = Set.new(discard)
  @closed  = false
  @flashes = flashes
  @now     = nil
end

Class Method Details

._load(args) ⇒ Object



75
76
77
# File 'lib/rails_4_session_flash_backport/rails2/flash_hash.rb', line 75

def self._load(args)
  {}
end

.from_session_value(value) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rails_4_session_flash_backport/rails3/flash_hash.rb', line 13

def self.from_session_value(value)
  case value
  when ::ActionController::Flash::FlashHash # Rails 2.x
    new(value, value.instance_variable_get(:@used).select{|a,b| b}.keys)
  when ::ActionDispatch::Flash::FlashHash # Rails 3.1, 3.2
    new(value.instance_variable_get(:@flashes), value.instance_variable_get(:@used))
  when Hash # Rails 4.0, we backported to 2.3 too
    new(value['flashes'], value['discard'])
  else
    new
  end
end

Instance Method Details

#to_session_valueObject



26
27
28
29
# File 'lib/rails_4_session_flash_backport/rails3/flash_hash.rb', line 26

def to_session_value
  return nil if empty?
  {'discard' => @used.to_a, 'flashes' => @flashes}
end