class CruAuthLib::AccessToken
Attributes
email[RW]
first_name[RW]
guid[RW]
key_guid[RW]
last_name[RW]
pgt[RW]
relay_guid[RW]
token[RW]
Public Class Methods
del(token)
click to toggle source
# File lib/cru_auth_lib/access_token.rb, line 35 def del(token) redis_client.del(redis_key(token)) end
exist?(token)
click to toggle source
# File lib/cru_auth_lib/access_token.rb, line 23 def exist?(token) redis_client.get(redis_key(token)) end
new(attributes = {})
click to toggle source
Calls superclass method
# File lib/cru_auth_lib/access_token.rb, line 10 def initialize(attributes = {}) attributes.symbolize_keys! super(attributes) @token = generate_access_token unless attributes[:token] write end
read(token)
click to toggle source
# File lib/cru_auth_lib/access_token.rb, line 18 def read(token) json = exist?(token) new(Oj.load(json)) if json end
redis_client()
click to toggle source
# File lib/cru_auth_lib/access_token.rb, line 27 def redis_client @redis_client ||= CruAuthLib.redis_client end
redis_key(token)
click to toggle source
# File lib/cru_auth_lib/access_token.rb, line 31 def redis_key(token) ['cru_lib', 'access_token', token].join(':') end
Private Instance Methods
generate_access_token()
click to toggle source
# File lib/cru_auth_lib/access_token.rb, line 42 def generate_access_token loop do attributes[:token] = SecureRandom.uuid.delete('-') break unless self.class.exist?(attributes[:token]) end attributes[:token] end
write()
click to toggle source
# File lib/cru_auth_lib/access_token.rb, line 50 def write self.class.redis_client.setex(self.class.redis_key(attributes[:token]), 30.minutes.to_i, to_json) end