module Sequel::ConnectionPool::ClassMethods

Class methods used to return an appropriate pool subclass, separated into a module for easier overridding by extensions.

Public Instance Methods

get_pool(db, opts = OPTS) click to toggle source

Return a pool subclass instance based on the given options. If a :pool_class option is provided is provided, use that pool class, otherwise use a new instance of an appropriate pool subclass based on the :single_threaded and :servers options.

# File lib/sequel/connection_pool.rb, line 46
def get_pool(db, opts = OPTS)
  case v = connection_pool_class(opts)
  when Class
    v.new(db, opts)
  when Symbol
    require("sequel/connection_pool/#{v}")
    connection_pool_class(opts).new(db, opts) || raise(Sequel::Error, "No connection pool class found")
  end
end

Private Instance Methods

connection_pool_class(opts) click to toggle source

Return a connection pool class based on the given options.

# File lib/sequel/connection_pool.rb, line 59
def connection_pool_class(opts)
  CONNECTION_POOL_MAP[opts[:pool_class]] || opts[:pool_class] || CONNECTION_POOL_MAP[[!!opts[:single_threaded], !!opts[:servers]]]
end