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