diff options
Diffstat (limited to 'app/models/merge_request/cleanup_schedule.rb')
-rw-r--r-- | app/models/merge_request/cleanup_schedule.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/merge_request/cleanup_schedule.rb b/app/models/merge_request/cleanup_schedule.rb new file mode 100644 index 00000000000..79817269be2 --- /dev/null +++ b/app/models/merge_request/cleanup_schedule.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class MergeRequest::CleanupSchedule < ApplicationRecord + belongs_to :merge_request, inverse_of: :cleanup_schedule + + validates :scheduled_at, presence: true + + def self.scheduled_merge_request_ids(limit) + where('completed_at IS NULL AND scheduled_at <= NOW()') + .order('scheduled_at DESC') + .limit(limit) + .pluck(:merge_request_id) + end +end |