Class Index [+]

Quicksearch

Sequel::ThreadedServerBlock

Adds with_server support for the sharded threaded connection pool.

Public Instance Methods

with_server(server) click to toggle source

Set a default server/shard to use inside the block for the current thread.

     # File lib/sequel/extensions/server_block.rb, line 99
 99:     def with_server(server)
100:       begin
101:         set_default_server(server)
102:         yield
103:       ensure
104:         clear_default_server
105:       end
106:     end

Private Instance Methods

clear_default_server() click to toggle source

Remove the current default server for the current thread, restoring the previous default server.

     # File lib/sequel/extensions/server_block.rb, line 117
117:     def clear_default_server
118:       t = Thread.current
119:       a = sync{@default_servers[t]}
120:       a.pop
121:       sync{@default_servers.delete(t)} if a.empty?
122:     end
pick_server(server) click to toggle source

Use the server given to with_server for the given thread, if appropriate.

     # File lib/sequel/extensions/server_block.rb, line 125
125:     def pick_server(server)
126:       a = sync{@default_servers[Thread.current]}
127:       if !a || a.empty?
128:         super
129:       else
130:         case server
131:         when :default, nil, :read_only
132:           a.last
133:         else
134:           super
135:         end
136:       end
137:     end
set_default_server(server) click to toggle source

Make the given server the new default server for the current thread.

     # File lib/sequel/extensions/server_block.rb, line 111
111:     def set_default_server(server)
112:       sync{(@default_servers[Thread.current] ||= [])} << server
113:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.