module Authlogic::Session::Session::InstanceMethods

Instance methods for the session feature.

Private Instance Methods

persist_by_session() click to toggle source

Tries to validate the session from information in the session

# File lib/authlogic/session/session.rb, line 32
def persist_by_session
  persistence_token, record_id = session_credentials
  if !persistence_token.nil?
    # Allow finding by persistence token, because when records are created the session is maintained in a before_save, when there is no id.
    # This is done for performance reasons and to save on queries.
    record = record_id.nil? ?
      search_for_record("find_by_persistence_token", persistence_token.to_s) :
      search_for_record("find_by_#{klass.primary_key}", record_id.to_s)
    self.unauthorized_record = record if record && record.persistence_token == persistence_token
    valid?
  else
    false
  end
end
session_credentials() click to toggle source
# File lib/authlogic/session/session.rb, line 47
def session_credentials
  [controller.session[session_key], controller.session["#{session_key}_#{klass.primary_key}"]].collect { |i| i.nil? ? i : i.to_s }.compact
end
session_key() click to toggle source
# File lib/authlogic/session/session.rb, line 51
def session_key
  build_key(self.class.session_key)
end
update_session() click to toggle source
# File lib/authlogic/session/session.rb, line 55
def update_session
  controller.session[session_key] = record && record.persistence_token
  controller.session["#{session_key}_#{klass.primary_key}"] = record && record.send(record.class.primary_key)
end