Sha256: a3cac48de951c283533cca26110c9c4d3012cc2a8127b90b9c601da6c11f7f52

Contents?: true

Size: 759 Bytes

Versions: 3

Compression:

Stored size: 759 Bytes

Contents

module ActiveRecord::Turntable
  class SeqShard < Shard
    private

      def create_connection_class
        klass = connection_class_instance
        klass.remove_connection
        klass.establish_connection ActiveRecord::Base.connection_pool.spec.config[:seq][name].with_indifferent_access
        klass
      end

      def retrieve_connection_pool
        ActiveRecord::Base.turntable_connections[name] ||=
          begin
            config = ActiveRecord::Base.configurations[Rails.env]["seq"][name]
            raise ArgumentError, "Unknown database config: #{name}, have #{ActiveRecord::Base.configurations.inspect}" unless config
            ActiveRecord::ConnectionAdapters::ConnectionPool.new(spec_for(config))
          end
      end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activerecord-turntable-3.1.0 lib/active_record/turntable/seq_shard.rb
activerecord-turntable-3.0.1 lib/active_record/turntable/seq_shard.rb
activerecord-turntable-3.0.0 lib/active_record/turntable/seq_shard.rb