Class: Fabrication::Sequencer
- Inherits:
-
Object
- Object
- Fabrication::Sequencer
- Defined in:
- lib/fabrication/sequencer.rb
Constant Summary collapse
- DEFAULT =
:_default
Class Method Summary collapse
- .reset ⇒ Object
- .sequence(name = DEFAULT, start = nil, &block) ⇒ Object
- .sequence_blocks ⇒ Object
- .sequences ⇒ Object
Class Method Details
.reset ⇒ Object
24 25 26 27 28 |
# File 'lib/fabrication/sequencer.rb', line 24 def self.reset Fabrication::Config.sequence_start = nil @sequences = nil @sequence_blocks = nil end |
.sequence(name = DEFAULT, start = nil, &block) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/fabrication/sequencer.rb', line 5 def self.sequence(name = DEFAULT, start = nil, &block) idx = sequences[name] ||= start || Fabrication::Config.sequence_start if block sequence_blocks[name] = block.to_proc else sequence_blocks[name] ||= ->(i) { i } end.call(idx).tap do sequences[name] += 1 end end |
.sequence_blocks ⇒ Object
20 21 22 |
# File 'lib/fabrication/sequencer.rb', line 20 def self.sequence_blocks @sequence_blocks ||= {} end |
.sequences ⇒ Object
16 17 18 |
# File 'lib/fabrication/sequencer.rb', line 16 def self.sequences @sequences ||= {} end |