module Sequel::UnthreadedServerBlock
Adds #with_server support for the sharded single connection pool.
Public Instance Methods
with_server(default_server, read_only_server=default_server) { || ... }
click to toggle source
Set a default server/shard to use inside the block.
# File lib/sequel/extensions/server_block.rb, line 83 def with_server(default_server, read_only_server=default_server) begin set_default_server(default_server, read_only_server) yield ensure clear_default_server end end
Private Instance Methods
clear_default_server()
click to toggle source
Remove the current default server, restoring the previous default server.
# File lib/sequel/extensions/server_block.rb, line 101 def clear_default_server @default_servers.pop end
pick_server(server)
click to toggle source
Use the server given to #with_server if appropriate.
Calls superclass method
# File lib/sequel/extensions/server_block.rb, line 106 def pick_server(server) if @default_servers.empty? super else case server when :default, nil @default_servers[-1][0] when :read_only @default_servers[-1][1] else super end end end
set_default_server(default_server, read_only_server=default_server)
click to toggle source
Make the given server the new default server.
# File lib/sequel/extensions/server_block.rb, line 95 def set_default_server(default_server, read_only_server=default_server) @default_servers << [default_server, read_only_server] end