Class: Amorail::AccessToken

Inherits:
Object
  • Object
show all
Defined in:
lib/amorail/access_token.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(secret, token, refresh_token, expiration, store) ⇒ AccessToken

Returns a new instance of AccessToken.



7
8
9
10
11
12
13
# File 'lib/amorail/access_token.rb', line 7

def initialize(secret, token, refresh_token, expiration, store)
  @secret        = secret
  @token         = token
  @refresh_token = refresh_token
  @expiration    = expiration
  @store         = store
end

Instance Attribute Details

#expirationObject (readonly)

Returns the value of attribute expiration.



5
6
7
# File 'lib/amorail/access_token.rb', line 5

def expiration
  @expiration
end

#refresh_tokenObject (readonly)

Returns the value of attribute refresh_token.



5
6
7
# File 'lib/amorail/access_token.rb', line 5

def refresh_token
  @refresh_token
end

#secretObject (readonly)

Returns the value of attribute secret.



5
6
7
# File 'lib/amorail/access_token.rb', line 5

def secret
  @secret
end

#storeObject (readonly)

Returns the value of attribute store.



5
6
7
# File 'lib/amorail/access_token.rb', line 5

def store
  @store
end

#tokenObject (readonly)

Returns the value of attribute token.



5
6
7
# File 'lib/amorail/access_token.rb', line 5

def token
  @token
end

Class Method Details

.create(secret, token, refresh_token, expiration, store) ⇒ Object



20
21
22
23
24
# File 'lib/amorail/access_token.rb', line 20

def create(secret, token, refresh_token, expiration, store)
  new(secret, token, refresh_token, expiration, store).tap do |access_token|
    store.persist_access(access_token.secret, access_token.token, access_token.refresh_token, access_token.expiration)
  end
end

.find(secret, store) ⇒ Object



26
27
28
29
# File 'lib/amorail/access_token.rb', line 26

def find(secret, store)
  token_attrs = store.fetch_access(secret)
  build_with_token_attrs(store, secret, token_attrs)
end

.refresh(secret, token, refresh_token, expiration, store) ⇒ Object



31
32
33
34
35
# File 'lib/amorail/access_token.rb', line 31

def refresh(secret, token, refresh_token, expiration, store)
  new(secret, token, refresh_token, expiration, store).tap do |access_token|
    store.update_access(access_token.secret, access_token.token, access_token.refresh_token, access_token.expiration)
  end
end

Instance Method Details

#expired?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/amorail/access_token.rb', line 15

def expired?
  store.access_expired?(secret)
end