class OmniAuth::RedisStore
Constants
- OMNIAUTH_REDIS_KEY
- REDIS_EXPIRE_TIME
Attributes
env[R]
Public Class Methods
new(env)
click to toggle source
# File lib/omniauth/redis_store.rb, line 15 def initialize(env) @env = env end
Public Instance Methods
[](key)
click to toggle source
# File lib/omniauth/redis_store.rb, line 24 def [] (key) JSON.parse(redis.hget(session_id,key)) rescue TypeError {} end
[]=(key,value)
click to toggle source
# File lib/omniauth/redis_store.rb, line 19 def []= (key,value) redis.hset(session_id, key, value.to_json) redis.expire(session_id, REDIS_EXPIRE_TIME) end
delete(key)
click to toggle source
# File lib/omniauth/redis_store.rb, line 30 def delete (key) val = [key] redis.hdel(session_id, key) session.delete(OMNIAUTH_REDIS_KEY) unless redis.exists(session_id) val end
Protected Instance Methods
redis()
click to toggle source
# File lib/omniauth/redis_store.rb, line 39 def redis OmniAuth.config.redis end
session()
click to toggle source
# File lib/omniauth/redis_store.rb, line 43 def session @env['rack.session'] end
session_id()
click to toggle source
# File lib/omniauth/redis_store.rb, line 47 def session_id session[OMNIAUTH_REDIS_KEY] = SecureRandom.uuid if session[OMNIAUTH_REDIS_KEY].nil? session[OMNIAUTH_REDIS_KEY] end