Module: Authlogic::Session::Id

Included in:
Base
Defined in:
lib/authlogic/session/id.rb

Overview

Allows you to separate sessions with an id, ultimately letting you create multiple sessions for the same user.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object


5
6
7
8
9
# File 'lib/authlogic/session/id.rb', line 5

def self.included(klass)
  klass.class_eval do
    attr_writer :id
  end
end

Instance Method Details

#credentials=(value) ⇒ Object

Setting the id if it is passed in the credentials.


12
13
14
15
16
# File 'lib/authlogic/session/id.rb', line 12

def credentials=(value)
  super
  values = value.is_a?(Array) ? value : [value]
  self.id = values.last if values.last.is_a?(Symbol)
end

#idObject

Allows you to set a unique identifier for your session, so that you can have more than 1 session at a time. A good example when this might be needed is when you want to have a normal user session and a “secure” user session. The secure user session would be created only when they want to modify their billing information, or other sensitive information. Similar to me.com. This requires 2 user sessions. Just use an id for the “secure” session and you should be good.

You can set the id during initialization (see initialize for more information), or as an attribute:

session.id = :my_id

Just be sure and set your id before you save your session.

Lastly, to retrieve your session with the id check out the find class method.


30
31
32
# File 'lib/authlogic/session/id.rb', line 30

def id
  @id
end