Module: Tor::Dispatcher
- Defined in:
- lib/rest_tor/dispatcher.rb
Class Method Summary collapse
Class Method Details
.modes ⇒ Object
3 4 5 |
# File 'lib/rest_tor/dispatcher.rb', line 3 def self.modes @modes ||= {} end |
.register(name, &block) ⇒ Object
7 8 9 |
# File 'lib/rest_tor/dispatcher.rb', line 7 def self.register(name, &block) modes[name] = block end |
.run(name) ⇒ Object
24 25 26 |
# File 'lib/rest_tor/dispatcher.rb', line 24 def self.run(name) @modes[:"#{name}"].call end |
.take(mode: :default) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# 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::TOR_PORT_START_WITH tor = Tor.listen(port=port.next) end return [port, tor] end return [] end |