module Sequel::ServerBlock

Public Class Methods

extended(db) click to toggle source

Enable the server block on the connection pool, choosing the correct extension depending on whether the connection pool is threaded or not. Also defines the #with_server method on the receiver for easy use.

# File lib/sequel/extensions/server_block.rb, line 69
def self.extended(db)
  pool = db.pool
  case pool.pool_type
  when :sharded_threaded, :sharded_timed_queue
    pool.extend(ThreadedServerBlock)
    pool.instance_variable_set(:@default_servers, {})
  else
    pool.extend(UnthreadedServerBlock)
    pool.instance_variable_set(:@default_servers, [])
  end
end

Public Instance Methods

with_server(default_server, read_only_server=default_server, &block) click to toggle source

Delegate to the connection pool

# File lib/sequel/extensions/server_block.rb, line 82
def with_server(default_server, read_only_server=default_server, &block)
  pool.with_server(default_server, read_only_server, &block)
end