class ActionDispatch::Flash::FlashHash - actionpack-4.2.3 Documentation

# class ActionDispatch::Flash::FlashHash

### Public Instance Methods

[](k) click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 123
    def [](k)
      @flashes[k.to_s]
    end

[]=(k, v) click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 117
    def []=(k, v)
      k = k.to_s
      @discard.delete k
      @flashes[k] = v
    end

alert() click to toggle source

Convenience accessor for `flash[:alert]`.

    # File lib/action_dispatch/middleware/flash.rb, line 224
    def alert
      self[:alert]
    end

alert=(message) click to toggle source

Convenience accessor for `flash[:alert]=`.

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

clear() click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 156
    def clear
      @discard.clear
      @flashes.clear
    end

delete(key) click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 141
    def delete(key)
      key = key.to_s
      @discard.delete key
      @flashes.delete key
      self
    end

discard(k = nil) click to toggle source

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 lib/action_dispatch/middleware/flash.rb, line 209
    def discard(k = nil)
      k = k.to_s if k
      @discard.merge Array(k || keys)
      k ? self[k] : self
    end

each(&block) click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 161
    def each(&block)
      @flashes.each(&block)
    end

empty?() click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 152
    def empty?
      @flashes.empty?
    end

initialize_copy(other) click to toggle source
Calls superclass method

    # File lib/action_dispatch/middleware/flash.rb, line 109
    def initialize_copy(other)
      if other.now_is_loaded?
        @now = other.now.dup
        @now.flash = self
      end
      super
    end

keep(k = nil) click to toggle source

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 lib/action_dispatch/middleware/flash.rb, line 199
    def keep(k = nil)
      k = k.to_s if k
      @discard.subtract Array(k || keys)
      k ? self[k] : self
    end

key?(name) click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 137
    def key?(name)
      @flashes.key? name.to_s
    end

keys() click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 133
    def keys
      @flashes.keys
    end

notice() click to toggle source

Convenience accessor for `flash[:notice]`.

    # File lib/action_dispatch/middleware/flash.rb, line 234
    def notice
      self[:notice]
    end

notice=(message) click to toggle source

Convenience accessor for `flash[:notice]=`.

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

now() click to toggle source

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']`.

Also, brings two convenience accessors:

    flash.now.alert = "Beware now!"
    # Equivalent to flash.now[:alert] = "Beware now!"

    flash.now.notice = "Good luck now!"
    # Equivalent to flash.now[:notice] = "Good luck now!"

    # File lib/action_dispatch/middleware/flash.rb, line 191
    def now
      @now ||= FlashNow.new(self)
    end

to_hash() click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 148
    def to_hash
      @flashes.dup
    end

### Protected Instance Methods

now_is_loaded?() click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 244
    def now_is_loaded?
      @now
    end

stringify_array(array) click to toggle source

    # File lib/action_dispatch/middleware/flash.rb, line 248
    def stringify_array(array)
      array.map do |item|
        item.kind_of?(Symbol) ? item.to_s : item
      end
    end