class Capybara::Poltergeist::Server

Attributes

fixed_port[R]
socket[R]
timeout[R]

Public Class Methods

new(fixed_port = nil, timeout = nil) click to toggle source
# File lib/capybara/poltergeist/server.rb, line 5
def initialize(fixed_port = nil, timeout = nil)
  @fixed_port = fixed_port
  @timeout    = timeout
  start
end

Public Instance Methods

port() click to toggle source
# File lib/capybara/poltergeist/server.rb, line 11
def port
  @socket.port
end
restart() click to toggle source
# File lib/capybara/poltergeist/server.rb, line 27
def restart
  stop
  start
end
send(command) click to toggle source
# File lib/capybara/poltergeist/server.rb, line 32
def send(command)
  receive_timeout = nil # default
  if command.name == 'visit'
    command.args.push(timeout) # set the client set visit timeout parameter
    receive_timeout = timeout + 5 # Add a couple of seconds to let the client timeout first
  end
  @socket.send(command.id, command.message, receive_timeout) or raise DeadClient.new(command.message)
end
start() click to toggle source
# File lib/capybara/poltergeist/server.rb, line 19
def start
  @socket = WebSocketServer.new(fixed_port, timeout)
end
stop() click to toggle source
# File lib/capybara/poltergeist/server.rb, line 23
def stop
  @socket.close
end
timeout=(sec) click to toggle source
# File lib/capybara/poltergeist/server.rb, line 15
def timeout=(sec)
  @timeout = @socket.timeout = sec
end