Sha256: 8b0819217a0c9857017cec8eed61df352ca565aa43f638ca3d13f44e9588d022

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

require 'active_record'
require 'expeditor'
require 'activerecord/shard_for/version'
require 'activerecord/shard_for/config'
require 'activerecord/shard_for/cluster_config'
require 'activerecord/shard_for/model'
require 'activerecord/shard_for/errors'
require 'activerecord/shard_for/connection_router'
require 'activerecord/shard_for/hash_modulo_router'
require 'activerecord/shard_for/distkey_router'
require 'activerecord/shard_for/database_tasks'
require 'activerecord/shard_for/shard_repogitory'
require 'activerecord/shard_for/all_shards_in_parallel'
require 'activerecord/shard_for/replication_mapping'
require 'activerecord/shard_for/railtie' if defined?(Rails)

module ActiveRecord
  module ShardFor
    class << self
      # @return [Activerecord::ShardFor::Config]
      def config
        @config ||= Config.new
      end

      # @yield [Activerecord::ShardFor::Config]
      def configure(&block)
        config.instance_eval(&block)
      end
    end
  end
end

ActiveRecord::ShardFor.configure do |config|
  config.register_connection_router(:hash_modulo, ActiveRecord::ShardFor::HashModuloRouter)
  config.register_connection_router(:distkey, ActiveRecord::ShardFor::DistkeyRouter)
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activerecord-shard_for-0.4.0 lib/activerecord/shard_for.rb
activerecord-shard_for-0.3.0 lib/activerecord/shard_for.rb
activerecord-shard_for-0.2.1 lib/activerecord/shard_for.rb