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 44 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 57 def connection_pool_class(opts) CONNECTION_POOL_MAP[opts[:pool_class]] || opts[:pool_class] || CONNECTION_POOL_MAP[[!!opts[:single_threaded], !!opts[:servers]]] end