class Warden::SessionSerializer
Attributes
env[R]
Public Class Methods
new(env)
click to toggle source
# File lib/warden/session_serializer.rb, line 5 def initialize(env) @env = env end
Public Instance Methods
delete(scope, user=nil)
click to toggle source
# File lib/warden/session_serializer.rb, line 42 def delete(scope, user=nil) session.delete(key_for(scope)) end
deserialize(key)
click to toggle source
# File lib/warden/session_serializer.rb, line 17 def deserialize(key) key end
fetch(scope)
click to toggle source
# File lib/warden/session_serializer.rb, line 28 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 9 def key_for(scope) "warden.user.#{scope}.key" end
serialize(user)
click to toggle source
# File lib/warden/session_serializer.rb, line 13 def serialize(user) user end
session()
click to toggle source
We can't cache this result because the session can be lazy loaded
# File lib/warden/session_serializer.rb, line 47 def session env["rack.session"] || {} end
store(user, scope)
click to toggle source
# File lib/warden/session_serializer.rb, line 21 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 38 def stored?(scope) !!session[key_for(scope)] end