Class: Legion::Extensions::Github::OAuth::Actor::TokenRefresh
- Inherits:
-
Actors::Every
- Object
- Actors::Every
- Legion::Extensions::Github::OAuth::Actor::TokenRefresh
- Defined in:
- lib/legion/extensions/github/oauth/actor/token_refresh.rb
Overview
rubocop:disable Legion/Extension/SelfContainedActorRunnerClass,Legion/Extension/EveryActorRequiresTime
Instance Method Summary collapse
- #check_subtask? ⇒ Boolean
-
#enabled? ⇒ Boolean
rubocop:disable Legion/Extension/ActorEnabledSideEffects.
- #generate_task? ⇒ Boolean
-
#manual ⇒ Object
rubocop:enable Legion/Extension/ActorEnabledSideEffects.
- #time ⇒ Object
- #use_runner? ⇒ Boolean
Instance Method Details
#check_subtask? ⇒ Boolean
10 |
# File 'lib/legion/extensions/github/oauth/actor/token_refresh.rb', line 10 def check_subtask? = false |
#enabled? ⇒ Boolean
rubocop:disable Legion/Extension/ActorEnabledSideEffects
18 19 20 21 22 |
# File 'lib/legion/extensions/github/oauth/actor/token_refresh.rb', line 18 def enabled? oauth_settings[:client_id] && oauth_settings[:client_secret] rescue StandardError => _e false end |
#generate_task? ⇒ Boolean
11 |
# File 'lib/legion/extensions/github/oauth/actor/token_refresh.rb', line 11 def generate_task? = false |
#manual ⇒ Object
rubocop:enable Legion/Extension/ActorEnabledSideEffects
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/legion/extensions/github/oauth/actor/token_refresh.rb', line 25 def manual settings = oauth_settings return unless settings[:client_id] && settings[:client_secret] token_entry = fetch_delegated_token return unless token_entry&.dig(:refresh_token) auth = Object.new.extend(Legion::Extensions::Github::OAuth::Runners::Auth) result = auth.refresh_token( client_id: settings[:client_id], client_secret: settings[:client_secret], refresh_token: token_entry[:refresh_token] ) return unless result.dig(:result, 'access_token') store_delegated_token(result[:result]) log.info('OAuth::Actor::TokenRefresh: delegated token refreshed') rescue StandardError => e log.error("OAuth::Actor::TokenRefresh: #{e.}") end |
#time ⇒ Object
13 14 15 |
# File 'lib/legion/extensions/github/oauth/actor/token_refresh.rb', line 13 def time 3 * 60 * 60 end |
#use_runner? ⇒ Boolean
9 |
# File 'lib/legion/extensions/github/oauth/actor/token_refresh.rb', line 9 def use_runner? = false |