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

has_session?()
Alias for: session?
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