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

- (SessionContainer) initialize(session_id)

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

- (Object) session_id

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

+ (SessionContainer) generate

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

+ (Object) inherited(klass)

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

+ (SessionContainer) setup(request)

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

- (Object) clear!

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

- (Object) finalize(request)

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

- (Object) regenerate

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