module Strelka::HTTPRequest::Session
The mixin that adds methods to Strelka::HTTPRequest
for session management.
request.session? request.session
Attributes
session_namespace[R]
The current session namespace
Public Class Methods
new( * )
click to toggle source
Extension callback – add instance variables to extended objects.
Calls superclass method
# File lib/strelka/httprequest/session.rb, line 22 def initialize( * ) super @session_namespace = nil @session = nil end
Public Instance Methods
session()
click to toggle source
Return the session associated with the request, creating it if necessary.
# File lib/strelka/httprequest/session.rb, line 61 def session unless @session @session = Strelka::App::Sessions.session_class.load_or_create( self ) @session.namespace = self.session_namespace end return @session end
session=( new_session )
click to toggle source
Set the request's session object.
# File lib/strelka/httprequest/session.rb, line 72 def session=( new_session ) new_session.namespace = self.session_namespace if new_session.respond_to?( :namespace ) @session = new_session end
session?()
click to toggle source
Returns true
if the request has an associated session object.
# File lib/strelka/httprequest/session.rb, line 48 def session? return @session || Strelka::App::Sessions.session_class.has_session_for?( self ) end
Also aliased as: has_session?
session_loaded?()
click to toggle source
Returns true
if the request has loaded its session.
# File lib/strelka/httprequest/session.rb, line 55 def session_loaded? return @session ? true : false end
session_namespace=( namespace )
click to toggle source
The namespace that will be used when creating a session for this request
# File lib/strelka/httprequest/session.rb, line 38 def session_namespace=( namespace ) self.log.debug "Setting session namespace to %p" % [ namespace ] @session_namespace = namespace # If the session has already been created, switch its current namespace @session.namespace = namespace if @session end