Module: SauceTunnel

Defined in:
lib/sauce_tunnel.rb,
lib/sauce_tunnel/tunnel.rb,
lib/sauce_tunnel/version.rb,
lib/sauce_tunnel/simple_queue.rb

Defined Under Namespace

Classes: ConnectionError, Error, SimpleQueue, Tunnel

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.config(**config) ⇒ Object



13
14
15
# File 'lib/sauce_tunnel.rb', line 13

def config(**config)
  @config = config;
end

.startObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sauce_tunnel.rb', line 17

def start
  # Wrap establishing Tunnel in Mutex since the Tunnel class is not thread safe.
  @mutex.synchronize do
    @tunnel ||= begin
      Tunnel.new(**@config).tap do |tunnel|
        at_exit do
          tunnel.terminate
        end
        tunnel.connect
        tunnel.await
      end
    end
  end
end