diff options
Diffstat (limited to 'app/models/concerns/runner_token_expiration_interval.rb')
-rw-r--r-- | app/models/concerns/runner_token_expiration_interval.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/models/concerns/runner_token_expiration_interval.rb b/app/models/concerns/runner_token_expiration_interval.rb new file mode 100644 index 00000000000..f84e69e7b7d --- /dev/null +++ b/app/models/concerns/runner_token_expiration_interval.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module RunnerTokenExpirationInterval + extend ActiveSupport::Concern + + def enforced_runner_token_expiration_interval_human_readable + interval = enforced_runner_token_expiration_interval + ChronicDuration.output(interval, format: :short) if interval + end + + def effective_runner_token_expiration_interval + [ + enforced_runner_token_expiration_interval, + runner_token_expiration_interval&.seconds + ].compact.min + end + + def effective_runner_token_expiration_interval_human_readable + interval = effective_runner_token_expiration_interval + ChronicDuration.output(interval, format: :short) if interval + end +end |