Parent

Files

Warden::SessionSerializer

Attributes

env[R]
session[R]

Public Class Methods

new(env, session=env['rack.session']) click to toggle source
# File lib/warden/session_serializer.rb, line 5
def initialize(env, session=env['rack.session'])
  @env = env
  @session = session || {}
end

Public Instance Methods

delete(scope, user=nil) click to toggle source
# File lib/warden/session_serializer.rb, line 43
def delete(scope, user=nil)
  session.delete(key_for(scope))
end
deserialize(key) click to toggle source
# File lib/warden/session_serializer.rb, line 18
def deserialize(key)
  key
end
fetch(scope) click to toggle source
# File lib/warden/session_serializer.rb, line 29
def fetch(scope)
  key = session[key_for(scope)]
  return nil unless key

  method_name = "#{scope}_deserialize"
  user = respond_to?(method_name) ? send(method_name, key) : deserialize(key)
  delete(scope) unless user
  user
end
key_for(scope) click to toggle source
# File lib/warden/session_serializer.rb, line 10
def key_for(scope)
  "warden.user.#{scope}.key"
end
serialize(user) click to toggle source
# File lib/warden/session_serializer.rb, line 14
def serialize(user)
  user
end
store(user, scope) click to toggle source
# File lib/warden/session_serializer.rb, line 22
def store(user, scope)
  return unless user
  method_name = "#{scope}_serialize"
  specialized = respond_to?(method_name)
  session[key_for(scope)] = specialized ? send(method_name, user) : serialize(user)
end
stored?(scope) click to toggle source
# File lib/warden/session_serializer.rb, line 39
def stored?(scope)
  !!session[key_for(scope)]
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.