class ROM::Factory::Sequences

@api private

Attributes

registry[R]

@api private

Public Class Methods

[](relation) click to toggle source

@api private

# File lib/rom/factory/sequences.rb, line 15
def self.[](relation)
  key = :"#{relation.gateway}-#{relation.name.dataset}"
  -> { instance.next(key) }
end
new() click to toggle source

@api private

# File lib/rom/factory/sequences.rb, line 21
def initialize
  reset
end

Public Instance Methods

next(key) click to toggle source

@api private

# File lib/rom/factory/sequences.rb, line 26
def next(key)
  registry[key] += 1
end
reset() click to toggle source

@api private

# File lib/rom/factory/sequences.rb, line 31
def reset
  @registry = Concurrent::Map.new { |h, k| h[k] = 0 }
  self
end