Sha256: 9c2544191217698d2b7b48a0f93edb3091c3b4e7be037a155faa59cef3f7607e

Contents?: true

Size: 910 Bytes

Versions: 6

Compression:

Stored size: 910 Bytes

Contents

module ActiveRecord::Turntable
  class Sequencer
    extend ActiveSupport::Autoload

    eager_autoload do
      autoload :Api
      autoload :Mysql
      autoload :Barrage
      autoload :Katsubushi
    end

    def sequence_name(table_name, primary_key = 'id')
      [table_name, primary_key, "seq"].join("_")
    end

    def release!
      # Release subclasses if necessary
    end

    class << self
      def class_for(name_or_class)
        case name_or_class
        when Sequencer
          name_or_class
        else
          const_get("#{name_or_class.to_s.classify}")
        end
      end

      def sequence_name(table_name, primary_key = 'id')
        [table_name, primary_key, "seq"].join("_")
      end
    end

    def next_sequence_value(sequence_name)
      raise NotImplementedError
    end

    def current_sequence_value(sequence_name)
      raise NotImplementedError
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
activerecord-turntable-4.4.1 lib/active_record/turntable/sequencer.rb
activerecord-turntable-4.4.0 lib/active_record/turntable/sequencer.rb
activerecord-turntable-4.3.0 lib/active_record/turntable/sequencer.rb
activerecord-turntable-4.2.0 lib/active_record/turntable/sequencer.rb
activerecord-turntable-4.1.0 lib/active_record/turntable/sequencer.rb
activerecord-turntable-4.0.0 lib/active_record/turntable/sequencer.rb