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 90 def with_server(default_server, read_only_server=default_server) 91 begin 92 set_default_server(default_server, read_only_server) 93 yield 94 ensure 95 clear_default_server 96 end 97 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 108 def clear_default_server 109 @default_servers.pop 110 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 113 def pick_server(server) 114 if @default_servers.empty? 115 super 116 else 117 case server 118 when :default, nil 119 @servers[@default_servers[-1][0]] 120 when :read_only 121 @servers[@default_servers[-1][1]] 122 else 123 super 124 end 125 end 126 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 102 def set_default_server(default_server, read_only_server=default_server) 103 @default_servers << [default_server, read_only_server] 104 end