Module: Sequel::ConnectionPool::ClassMethods

Included in:
Sequel::ConnectionPool
Defined in:
lib/sequel/connection_pool.rb

Overview

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

Instance Method Summary collapse

Instance Method Details

#get_pool(db, opts = OPTS) ⇒ Object

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.


44
45
46
47
48
49
50
51
52
# 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