Sha256: 220b8bf3c1cbdfc7caa9188f24f013cfc83ca1e95ad6a0d440470be8fa4dc4db

Contents?: true

Size: 507 Bytes

Versions: 6

Compression:

Stored size: 507 Bytes

Contents

module ActiveRecord::Turntable
  module Algorithm
    extend ActiveSupport::Autoload

    eager_autoload do
      autoload :Base
      autoload :RangeAlgorithm
      autoload :RangeBsearchAlgorithm
      autoload :ModuloAlgorithm
      autoload :HashSlotAlgorithm
    end

    def class_for(name_or_class)
      case name_or_class
      when Algorithm::Base
        name_or_class
      else
        const_get("#{name_or_class.classify}Algorithm")
      end
    end

    module_function :class_for
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

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