Module: Strelka::HTTPRequest::Session

Extended by:
Configurability
Includes:
Constants
Defined in:
lib/strelka/httprequest/session.rb

Overview

The mixin that adds methods to Strelka::HTTPRequest for session management.

request.session?
request.session

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#session_namespaceObject

The current session namespace



35
36
37
# File 'lib/strelka/httprequest/session.rb', line 35

def session_namespace
  @session_namespace
end

Instance Method Details

#initializeObject

Extension callback – add instance variables to extended objects.



23
24
25
26
27
# File 'lib/strelka/httprequest/session.rb', line 23

def initialize( * )
	super
	@session_namespace = nil
	@session = nil
end

#sessionObject

Return the session associated with the request, creating it if necessary.



62
63
64
65
66
67
68
69
# File 'lib/strelka/httprequest/session.rb', line 62

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) ⇒ Object

Set the request’s session object.



73
74
75
76
# File 'lib/strelka/httprequest/session.rb', line 73

def session=( new_session )
	new_session.namespace = self.session_namespace if new_session.respond_to?( :namespace )
	@session = new_session
end

#session?Boolean Also known as: has_session?

Returns true if the request has an associated session object.

Returns:

  • (Boolean)


49
50
51
# File 'lib/strelka/httprequest/session.rb', line 49

def session?
	return @session || Strelka::App::Sessions.session_class.has_session_for?( self )
end

#session_loaded?Boolean

Returns true if the request has loaded its session.

Returns:

  • (Boolean)


56
57
58
# File 'lib/strelka/httprequest/session.rb', line 56

def session_loaded?
	return @session ? true : false
end