Sha256: 0c3309ba115b1b4aa65630306d5b3e5f657ca279a4008bab6fb2344dce28f246
Contents?: true
Size: 767 Bytes
Versions: 6
Compression:
Stored size: 767 Bytes
Contents
module ActiveRecord::Turntable class SequencerRegistry attr_reader :sequencers alias_method :all, :sequencers def initialize @sequencers = {}.with_indifferent_access @cluster_sequencers = {}.with_indifferent_access end def add(name, type, options, cluster) # TODO: Warn if defined the same name sequencer already. sequencer = (@sequencers[name] ||= Sequencer.class_for(type).new(options)) @cluster_sequencers[cluster] ||= {}.with_indifferent_access @cluster_sequencers[cluster][name] ||= sequencer end def release! @sequencers.each(&:release!) end def [](name) @sequencers[name] end def cluster_sequencers(cluster) @cluster_sequencers[cluster] end end end
Version data entries
6 entries across 6 versions & 1 rubygems