module Tor::Dispatcher
Public Class Methods
modes()
click to toggle source
# File lib/rest_tor/dispatcher.rb, line 3 def self.modes @modes ||= {} end
register(name, &block)
click to toggle source
# File lib/rest_tor/dispatcher.rb, line 7 def self.register(name, &block) modes[name] = block end
run(name)
click to toggle source
# File lib/rest_tor/dispatcher.rb, line 24 def self.run(name) @modes[:"#{name}"].call end
take(mode: :default)
click to toggle source
# File lib/rest_tor/dispatcher.rb, line 11 def self.take(mode: :default) Tor.lock("tor:pick", expires: 10) do port, tor = run(mode) if port.blank? || tor.blank? port, _ = Tor.store.max {|a,b | a[0] <=> b[0] } || Tor.config.port tor = Tor.listen(port=port.next) end return [port, tor] end return [] end