Class: UberLogin::Storage

Inherits:
Object
  • Object
show all
Defined in:
lib/uber_login/storage.rb

Class Method Summary collapse

Class Method Details

.build(uid, composite) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/uber_login/storage.rb', line 14

def build(uid, composite)
  LoginToken.new(
    uid: uid,
    sequence: TokenEncoder.sequence(composite),
    token: TokenEncoder.token_hash(composite)
  )
end

.delete_all(uid) ⇒ Object



22
23
24
# File 'lib/uber_login/storage.rb', line 22

def delete_all(uid)
  LoginToken.destroy_all(uid: uid)
end

.delete_all_but(uid, composite) ⇒ Object



26
27
28
# File 'lib/uber_login/storage.rb', line 26

def delete_all_but(uid, composite)
  # TODO: How to make this ORM agnostic?
end

.find(uid, sequence) ⇒ Object



4
5
6
# File 'lib/uber_login/storage.rb', line 4

def find(uid, sequence)
  LoginToken.find_by(uid: uid, sequence: sequence)
end

.find_composite(uid, composite) ⇒ Object



8
9
10
11
12
# File 'lib/uber_login/storage.rb', line 8

def find_composite(uid, composite)
  find(uid, TokenEncoder.sequence(composite))
rescue  # composite might invalid if cookies are tampered
  nil
end