Class: Sequel::SingleConnectionPool
- Inherits:
-
ConnectionPool
- Object
- ConnectionPool
- Sequel::SingleConnectionPool
- Defined in:
- lib/sequel/connection_pool/single.rb
Overview
This is the fastest connection pool, since it isn’t a connection pool at all. It is just a wrapper around a single connection that uses the connection pool API.
Constant Summary
Constants inherited from ConnectionPool
ConnectionPool::CONNECTION_POOL_MAP, ConnectionPool::DEFAULT_SERVER, ConnectionPool::OPTS
Instance Attribute Summary
Attributes inherited from ConnectionPool
Instance Method Summary collapse
-
#all_connections {|@conn| ... } ⇒ Object
Yield the connection if one has been made.
-
#disconnect(opts = nil) ⇒ Object
Disconnect the connection from the database.
-
#hold(server = nil) ⇒ Object
Yield the connection to the block.
-
#max_size ⇒ Object
The SingleConnectionPool always has a maximum size of 1.
- #pool_type ⇒ Object
-
#size ⇒ Object
The SingleConnectionPool always has a size of 1 if connected and 0 if not.
Methods inherited from ConnectionPool
#created_count, #initialize, #servers
Methods included from ConnectionPool::ClassMethods
Constructor Details
This class inherits a constructor from Sequel::ConnectionPool
Instance Method Details
#all_connections {|@conn| ... } ⇒ Object
Yield the connection if one has been made.
6 7 8 |
# File 'lib/sequel/connection_pool/single.rb', line 6 def all_connections yield @conn if @conn end |
#disconnect(opts = nil) ⇒ Object
Disconnect the connection from the database.
11 12 13 14 15 |
# File 'lib/sequel/connection_pool/single.rb', line 11 def disconnect(opts=nil) return unless @conn db.disconnect_connection(@conn) @conn = nil end |
#hold(server = nil) ⇒ Object
Yield the connection to the block.
18 19 20 21 22 23 24 25 |
# File 'lib/sequel/connection_pool/single.rb', line 18 def hold(server=nil) begin yield(@conn ||= make_new(DEFAULT_SERVER)) rescue Sequel::DatabaseDisconnectError disconnect raise end end |
#max_size ⇒ Object
The SingleConnectionPool always has a maximum size of 1.
28 29 30 |
# File 'lib/sequel/connection_pool/single.rb', line 28 def max_size 1 end |
#pool_type ⇒ Object
32 33 34 |
# File 'lib/sequel/connection_pool/single.rb', line 32 def pool_type :single end |
#size ⇒ Object
The SingleConnectionPool always has a size of 1 if connected and 0 if not.
38 39 40 |
# File 'lib/sequel/connection_pool/single.rb', line 38 def size @conn ? 1 : 0 end |