summaryrefslogtreecommitdiff
path: root/app/models/concerns/packages/destructible.rb
blob: a3b7d8580c192d6019b09f8d672565dfe6086a59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# frozen_string_literal: true

module Packages
  module Destructible
    extend ActiveSupport::Concern

    class_methods do
      def next_pending_destruction(order_by: nil)
        set = pending_destruction.limit(1).lock('FOR UPDATE SKIP LOCKED')
        set = set.order(order_by) if order_by
        set.take
      end
    end
  end
end