class Session::Flash

Overview

Flash provides temporary message storage that persists for exactly one request. Messages added to #next are available in #now on the next request, then cleared.

Example usage:

In controller action (e.g., after login)

flash.next["notice"] = "Welcome back!"

In next request (e.g., dashboard view)

flash.now["notice"] # => "Welcome back!"

For same-request messages (e.g., validation errors)

flash.now["error"] = "Invalid input"

Included Modules

Defined in:

flash.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]
def self.new #

[View source]

Instance Method Detail

def [](key : String) : String | Nil #

Convenience method to get a flash message (checks now first)


[View source]
def []=(key : String, value : String) : String #

Convenience method to set a flash message for next request


[View source]
def []?(key : String) : String | Nil #

Alias for [] that explicitly returns nil when not found


[View source]
def alert : String | Nil #

[View source]
def alert=(message : String) : String #

[View source]
def clear_now : Nil #

Clear current request messages


[View source]
def discard(key : String) : Nil #

Discard a flash message (won't appear in next request)


[View source]
def discard_all : Nil #

Discard all flash messages


[View source]
def empty? : Bool #

Check if there are any flash messages


[View source]
def error : String | Nil #

[View source]
def error=(message : String) : String #

[View source]
def has_key?(key : String) : Bool #

Check if a flash message exists


[View source]
def info : String | Nil #

[View source]
def info=(message : String) : String #

[View source]
def keep(key : String) : Nil #

Keep a flash message for another request


[View source]
def keep_all : Nil #

Keep all flash messages for another request


[View source]
def keys : Array(String) #

Get all message keys


[View source]
def next : Hash(String, String) #

Messages to be available in next request


[View source]
def notice : String | Nil #

Common flash message helpers


[View source]
def notice=(message : String) : String #

[View source]
def now : Hash(String, String) #

Messages available in current request (read-only from perspective of previous request)


[View source]
def rotate! : Nil #

Rotate flash messages: move next -> now, clear next Called automatically at start of each request


[View source]
def success : String | Nil #

[View source]
def success=(message : String) : String #

[View source]
def to_h : Hash(String, String) #

The messages a view shows: this request's, and those set during it.


[View source]
def warning : String | Nil #

[View source]
def warning=(message : String) : String #

[View source]