class Redis::EmailActivationToken
Constants
- VERSION
Public Class Methods
new(opts = {})
click to toggle source
# File lib/redis/email_activation_token/redis_ext.rb, line 5 def initialize(opts = {}) @redis = opts.delete(:redis) || Redis.new(opts) end
Public Instance Methods
generate(email, expire: 259200)
click to toggle source
# File lib/redis/email_activation_token/redis_ext.rb, line 9 def generate(email, expire: 259200) token = generate_token set_key(email, token, expire) token end
get(token)
click to toggle source
# File lib/redis/email_activation_token/redis_ext.rb, line 15 def get(token) get_key token end
get_created_at(token)
click to toggle source
# File lib/redis/email_activation_token/redis_ext.rb, line 23 def get_created_at(token) Time.parse @redis.hget(token, "created_at") end
get_email(token)
click to toggle source
# File lib/redis/email_activation_token/redis_ext.rb, line 19 def get_email(token) @redis.hget(token, "email") end
Private Instance Methods
generate_token()
click to toggle source
# File lib/redis/email_activation_token/redis_ext.rb, line 39 def generate_token SecureRandom.urlsafe_base64 end
get_key(token)
click to toggle source
# File lib/redis/email_activation_token/redis_ext.rb, line 35 def get_key(token) { token: token, email: get_email(token), created_at: get_created_at(token) } end
set_key(email, token, expire)
click to toggle source
# File lib/redis/email_activation_token/redis_ext.rb, line 29 def set_key(email, token, expire) @redis.hset(token, "email", email) @redis.hset(token, "created_at", Time.now) @redis.expire(token, expire) end