Class: Merb::SessionContainer

Inherits:
Mash
  • Object
show all
Defined in:
merb-core/lib/merb-core/dispatch/session/container.rb

Direct Known Subclasses

CookieSession, SessionStoreContainer

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session_id) ⇒ SessionContainer

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of SessionContainer

Parameters:

  • session_id (String)

    A unique identifier for this session.



45
46
47
48
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 45

def initialize(session_id)
  @_destroy = false
  self.session_id = session_id
end

Instance Attribute Details

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



11
12
13
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 11

def needs_new_cookie
  @needs_new_cookie
end

#session_idObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



9
10
11
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 9

def session_id
  @session_id
end

Class Method Details

.generateSessionContainer

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Generates a new session ID and creates a new session.

Returns:



26
27
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 26

def generate
end

.inherited(klass) ⇒ Object

Register the subclass as an available session store type.



16
17
18
19
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 16

def inherited(klass)
  self.subclasses << klass.to_s
  super
end

.setup(request) ⇒ SessionContainer

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Note:

If no sessions were found, a new SessionContainer will be generated.

Returns A SessionContainer.

Parameters:

  • request (Merb::Request)

    The request that came in from Rack.

Returns:



37
38
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 37

def setup(request)
end

Instance Method Details

#clear!Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Destroy the current session. Clears data and removes session cookie.



75
76
77
78
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 75

def clear!
  @_destroy = true
  self.clear
end

#finalize(request) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Teardown and/or persist the current session.

If @_destroy is true, clear out the session completely, including removal of the session cookie itself.

Parameters:

  • request (Merb::Request)

    The request that came in from Rack.



69
70
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 69

def finalize(request)
end

#regenerateObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Regenerate the session_id.



83
84
# File 'merb-core/lib/merb-core/dispatch/session/container.rb', line 83

def regenerate
end