Class: Hanami::Action::Request::Session
- Inherits:
-
Object
- Object
- Hanami::Action::Request::Session
show all
- Extended by:
- Forwardable
- Defined in:
- lib/hanami/action/request/session.rb
Overview
Wrapper for Rack-provided sessions, allowing access using symbol keys.
Instance Method Summary
collapse
Constructor Details
#initialize(session) ⇒ Session
Returns a new instance of Session.
28
29
30
|
# File 'lib/hanami/action/request/session.rb', line 28
def initialize(session)
@session = session
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, &block) ⇒ Object
Provides a fallback for any methods not handled by the def_delegators.
54
55
56
57
58
59
60
|
# File 'lib/hanami/action/request/session.rb', line 54
def method_missing(method_name, *args, &block)
if @session.respond_to?(method_name)
@session.send(method_name, *args, &block)
else
super
end
end
|
Instance Method Details
#==(other) ⇒ Object
47
48
49
|
# File 'lib/hanami/action/request/session.rb', line 47
def ==(other)
Utils::Hash.deep_symbolize(@session) == Utils::Hash.deep_symbolize(other)
end
|
#[](key) ⇒ Object
32
33
34
|
# File 'lib/hanami/action/request/session.rb', line 32
def [](key)
@session[key.to_s]
end
|
#[]=(key, value) ⇒ Object
36
37
38
|
# File 'lib/hanami/action/request/session.rb', line 36
def []=(key, value)
@session[key.to_s] = value
end
|
#key?(key) ⇒ Boolean
Also known as:
has_key?, include?
40
41
42
|
# File 'lib/hanami/action/request/session.rb', line 40
def key?(key)
@session.key?(key.to_s)
end
|