class Cucumber::Pro::WebSocket::Session
Attributes
logger[R]
queue[R]
socket[R]
Public Class Methods
new(url, logger, options)
click to toggle source
# File lib/cucumber/pro/web_socket/session.rb, line 19 def initialize(url, logger, options) @url, @logger = url, logger create_socket = -> worker { ws = Faye::WebSocket::Client.new(@url, nil, ping: 15) ws.on :open, &worker.method(:on_open) ws.on :error, &worker.method(:on_error) ws.on :message, &worker.method(:on_message) ws.on :close, &worker.method(:on_close) ws } @queue = Queue.new @socket = Worker.new(create_socket, logger, self, options) end
Public Instance Methods
close()
click to toggle source
# File lib/cucumber/pro/web_socket/session.rb, line 39 def close logger.debug [:session, :close] socket.close loop until socket.closed? self end
error(exception)
click to toggle source
# File lib/cucumber/pro/web_socket/session.rb, line 46 def error(exception) logger.fatal exception $stderr.puts "Cucumber Pro failed to send results: #{exception}" $stderr.puts exception.backtrace.join("\n") self end
send_message(message)
click to toggle source
# File lib/cucumber/pro/web_socket/session.rb, line 33 def send_message(message) logger.debug [:session, :send, message] socket.send(message.to_json) self end