Class: Disqualified::Sequence

Inherits:
Object
  • Object
show all
Defined in:
lib/disqualified/sequence.rb

Constant Summary collapse

UUID =
:disqualified_sequence_uuid
COUNT =
:disqualified_sequence_count

Class Method Summary collapse

Class Method Details

.queue(description: nil, &block) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/disqualified/sequence.rb', line 5

def self.queue(description: nil, &block)
  Disqualified::SequenceRecord.transaction do
    Thread.current[UUID] = SecureRandom.uuid
    Thread.current[COUNT] = 0
    yield
    Disqualified::SequenceRecord.create!(
      uuid: Thread.current[UUID],
      current_step: 1,
      final_step: Thread.current[COUNT],
      description:
    )
  end
ensure
  Thread.current[UUID] = nil
  Thread.current[COUNT] = nil
end