Class: Operto::MemoryTokenStore

Inherits:
Object
  • Object
show all
Defined in:
lib/operto/memory_token_store.rb,
sig/operto.rbs

Overview

The default token store: keeps the token in memory for the life of the process. Fine for a single long-running process (the token simply re-issues after a restart); provide a shared/persistent store for multi-process deployments.

Defined Under Namespace

Classes: Token

Constant Summary collapse

REFRESH_BUFFER =

Returns:

  • (::Integer)
120

Instance Method Summary collapse

Instance Method Details

#activeObject

Returns:

  • (Object)


15
16
17
# File 'lib/operto/memory_token_store.rb', line 15

def active
  @token if @token && !@token.expired?
end

#clearnil

Returns:

  • (nil)


27
28
29
# File 'lib/operto/memory_token_store.rb', line 27

def clear
  @token = nil
end

#refreshableObject

Returns:

  • (Object)


19
20
21
# File 'lib/operto/memory_token_store.rb', line 19

def refreshable
  @token if @token&.refresh_expires_at && @token.refresh_expires_at > Time.now + REFRESH_BUFFER
end

#save(access_token:, expires_at:, refresh_token: nil, refresh_expires_at: nil) ⇒ Object

Parameters:

  • access_token: (::String)
  • expires_at: (::Time)
  • refresh_token: (::String, nil) (defaults to: nil)
  • refresh_expires_at: (::Time, nil) (defaults to: nil)

Returns:

  • (Object)


23
24
25
# File 'lib/operto/memory_token_store.rb', line 23

def save(access_token:, expires_at:, refresh_token: nil, refresh_expires_at: nil)
  @token = Token.new(access_token:, expires_at:, refresh_token:, refresh_expires_at:)
end