Class: Operto::AccessTokens::Upsert
- Inherits:
-
Object
- Object
- Operto::AccessTokens::Upsert
- Includes:
- Operation
- Defined in:
- lib/operto/access_tokens/upsert.rb,
sig/operto.rbs
Overview
Ensures a live access token: reuse the stored one, else refresh, else log in fresh. All persistence/caching/expiry policy lives in the injected token store (Operto.config.token_store).
Constant Summary collapse
- OAUTH_ENDPOINT =
'oauth/login'.freeze
- REFRESH_ENDPOINT =
'oauth/refresh'.freeze
Instance Method Summary collapse
Methods included from Operation
Instance Method Details
#call ⇒ ::Dry::Monads::Result[untyped]
13 14 15 16 17 18 19 20 |
# File 'lib/operto/access_tokens/upsert.rb', line 13 def call token = store.active return Success(token) if token attempt_refresh || request_new_token rescue StandardError => e Failure(e) end |