summaryrefslogtreecommitdiff
path: root/app/models/concerns/runner_token_expiration_interval.rb
blob: f84e69e7b7dded028e986ccce43b392f9a7d108b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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