class Hanami::Config::Actions::Sessions
Config
for HTTP session middleware in Hanami
actions.
@api public @since 2.0.0
Attributes
options[R]
Returns the configured session storage options
@return [Array]
@api public @since 2.0.0
storage[R]
Returns the configured session storage
@return [Symbol]
@api public @since 2.0.0
Public Class Methods
new(storage = nil, *options)
click to toggle source
Returns a new ‘Sessions`.
You should not need to initialize this class directly. Instead use {Hanami::Config::Actions#sessions=}.
@example
config.actions.sessions = :cookie, {secret: "xyz"}
@api private @since 2.0.0
# File lib/hanami/config/actions/sessions.rb, line 40 def initialize(storage = nil, *options) @storage = storage @options = options end
Public Instance Methods
enabled?()
click to toggle source
Returns true if sessions have been enabled.
@return [Boolean]
@api public @since 2.0.0
# File lib/hanami/config/actions/sessions.rb, line 51 def enabled? !storage.nil? end
middleware()
click to toggle source
Returns an array of the session storage middleware name and its options, or an empty array if sessions have not been enabled.
@return [Array<(Symbol, Array)>]
@api public @since 2.0.0
# File lib/hanami/config/actions/sessions.rb, line 62 def middleware return [] unless enabled? [storage_middleware, options].flatten(1) end
Private Instance Methods
require_storage()
click to toggle source
# File lib/hanami/config/actions/sessions.rb, line 77 def require_storage require "rack/session/#{storage}" end
storage_middleware()
click to toggle source
# File lib/hanami/config/actions/sessions.rb, line 70 def storage_middleware require_storage name = Utils::String.classify(storage) Utils::Class.load!(name, ::Rack::Session) end