diff options
Diffstat (limited to 'app/models/ci/freeze_period_status.rb')
-rw-r--r-- | app/models/ci/freeze_period_status.rb | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/app/models/ci/freeze_period_status.rb b/app/models/ci/freeze_period_status.rb deleted file mode 100644 index e810bb3f229..00000000000 --- a/app/models/ci/freeze_period_status.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -module Ci - class FreezePeriodStatus - attr_reader :project - - def initialize(project:) - @project = project - end - - def execute - project.freeze_periods.any? { |period| within_freeze_period?(period) } - end - - def within_freeze_period?(period) - start_freeze_cron = Gitlab::Ci::CronParser.new(period.freeze_start, period.cron_timezone) - end_freeze_cron = Gitlab::Ci::CronParser.new(period.freeze_end, period.cron_timezone) - - start_freeze = start_freeze_cron.previous_time_from(time_zone_now) - end_freeze = end_freeze_cron.next_time_from(start_freeze) - - start_freeze <= time_zone_now && time_zone_now <= end_freeze - end - - private - - def time_zone_now - @time_zone_now ||= Time.zone.now - end - end -end |