Class: SaucelabsAdapter::Tunnel

Inherits:
Object
  • Object
show all
Defined in:
lib/saucelabs_adapter/tunnel.rb

Direct Known Subclasses

OtherTunnel, SauceTunnel, SshTunnel

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(se_config) ⇒ Tunnel

Returns a new instance of Tunnel.



16
17
18
19
# File 'lib/saucelabs_adapter/tunnel.rb', line 16

def initialize(se_config)
  raise "#{self.class.name}.new requires a SeleniumConfig argument" unless se_config.is_a?(SeleniumConfig)
  @se_config = se_config
end

Class Method Details

.factory(selenium_config) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/saucelabs_adapter/tunnel.rb', line 5

def self.factory(selenium_config)
  tunnels = {
    :saucetunnel => SauceTunnel,
    :sshtunnel => SshTunnel,
    :othertunnel => OtherTunnel
  }
  raise_with_message "Unknown tunnel type #{selenium_config.tunnel_method}" unless tunnels[selenium_config.tunnel_method.to_sym]

  return tunnels[selenium_config.tunnel_method].new(selenium_config)
end

Instance Method Details

#shutdownObject



25
26
27
# File 'lib/saucelabs_adapter/tunnel.rb', line 25

def shutdown
  raise "You need to override this method"
end

#start_tunnelObject



21
22
23
# File 'lib/saucelabs_adapter/tunnel.rb', line 21

def start_tunnel
  raise "You need to override this method"
end