Sha256: f9fae52b0167c46d50a81076bd543e4c67cd1e725cbbd2bf69817c3421090fc1

Contents?: true

Size: 1.51 KB

Versions: 13

Compression:

Stored size: 1.51 KB

Contents

#
#= ActiveRecord::Turntable
#
# ActiveRecord Sharding Plugin
#
require 'active_record/turntable/version'
require 'active_record'
require 'active_record/fixtures'
require 'active_support/concern'
require 'active_record/turntable/error'
require 'active_record/turntable/util'
require 'logger'
require 'singleton'

# for 4.0.x series
module ActiveRecord
  unless respond_to?(:gem_version)
    class << self
      alias_method :gem_version, :version
    end
  end
end

module ActiveRecord::Turntable
  extend ActiveSupport::Concern
  extend ActiveSupport::Autoload

  eager_autoload do
    autoload :ActiveRecordExt
    autoload :Algorithm
    autoload :Base
    autoload :Cluster
    autoload :ClusterHelperMethods
    autoload :Config
    autoload :ConnectionProxy
    autoload :MasterShard
    autoload :Migration
    autoload :Mixer
    autoload :PoolProxy
    autoload :Shard
    autoload :SeqShard
    autoload :Sequencer
  end
  autoload :Rack
  autoload :Helpers

  included do
    include ActiveRecordExt
    include Base
  end

  module ClassMethods
    DEFAULT_PATH = File.dirname(File.dirname(__FILE__))

    def turntable_config_file
      @@turntable_config_file ||=
        File.join(defined?(::Rails) ?
                   ::Rails.root.to_s : DEFAULT_PATH, 'config/turntable.yml')
    end

    def turntable_config_file=(filename)
      @@turntable_config_file = filename
    end

    def turntable_config
      ActiveRecord::Turntable::Config.instance
    end
  end

  require "active_record/turntable/railtie" if defined?(Rails)
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
activerecord-turntable-2.4.0 lib/active_record/turntable.rb
activerecord-turntable-2.3.3 lib/active_record/turntable.rb
activerecord-turntable-2.3.2 lib/active_record/turntable.rb
activerecord-turntable-2.3.1 lib/active_record/turntable.rb
activerecord-turntable-2.3.0 lib/active_record/turntable.rb
activerecord-turntable-2.2.2 lib/active_record/turntable.rb
activerecord-turntable-2.2.1 lib/active_record/turntable.rb
activerecord-turntable-2.2.0 lib/active_record/turntable.rb
activerecord-turntable-2.1.1 lib/active_record/turntable.rb
activerecord-turntable-2.1.0 lib/active_record/turntable.rb
activerecord-turntable-2.1.0.rc2 lib/active_record/turntable.rb
activerecord-turntable-2.1.0.rc1 lib/active_record/turntable.rb
activerecord-turntable-2.1.0.beta2 lib/active_record/turntable.rb