class Google::Auth::Stores::RedisTokenStore
Implementation of user token storage backed by Redis. Tokens are stored as JSON using the supplied key, prefixed with `g-user-token:`
Constants
- DEFAULT_KEY_PREFIX
Public Class Methods
new(options = {})
click to toggle source
Create a new store with the supplied redis client.
@param [::Redis, String] redis
Initialized redis client to connect to.
@param [String] prefix
Prefix for keys in redis. Defaults to 'g-user-token:'
@note If no redis instance is provided, a new one is created and
the options passed through. You may include any other keys accepted by `Redis.new`
Calls superclass method
# File lib/googleauth/stores/redis_token_store.rb, line 36 def initialize options = {} super() redis = options.delete :redis prefix = options.delete :prefix @redis = case redis when Redis redis else Redis.new options end @prefix = prefix || DEFAULT_KEY_PREFIX end
Public Instance Methods
delete(id)
click to toggle source
(see Google::Auth::Stores::TokenStore#delete)
# File lib/googleauth/stores/redis_token_store.rb, line 62 def delete id key = key_for id @redis.del key end
load(id)
click to toggle source
(see Google::Auth::Stores::TokenStore#load)
# File lib/googleauth/stores/redis_token_store.rb, line 50 def load id key = key_for id @redis.get key end
store(id, token)
click to toggle source
(see Google::Auth::Stores::TokenStore#store)
# File lib/googleauth/stores/redis_token_store.rb, line 56 def store id, token key = key_for id @redis.set key, token end
Private Instance Methods
key_for(id)
click to toggle source
Generate a redis key from a token ID
@param [String] id
ID of the token
@return [String]
Redis key
# File lib/googleauth/stores/redis_token_store.rb, line 75 def key_for id @prefix + id end