Class: Cucumber::Pro::WebSocketSession
- Inherits:
-
Object
- Object
- Cucumber::Pro::WebSocketSession
- Defined in:
- lib/cucumber/pro/web_socket_session.rb
Defined Under Namespace
Classes: SocketWorker
Instance Method Summary collapse
- #close ⇒ Object
- #error(exception) ⇒ Object
-
#initialize(url, logger) ⇒ WebSocketSession
constructor
A new instance of WebSocketSession.
- #send(message) ⇒ Object
Constructor Details
#initialize(url, logger) ⇒ WebSocketSession
Returns a new instance of WebSocketSession.
9 10 11 12 13 14 15 |
# File 'lib/cucumber/pro/web_socket_session.rb', line 9 def initialize(url, logger) @url, @logger = url, logger @queue = Queue.new @socket = SocketWorker.new(url, logger, self) do queue.pop.call if !queue.empty? end end |
Instance Method Details
#close ⇒ Object
23 24 25 26 27 28 |
# File 'lib/cucumber/pro/web_socket_session.rb', line 23 def close logger.debug [:session, :close] queue.push -> { socket.close } loop until socket.closed? self end |
#error(exception) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/cucumber/pro/web_socket_session.rb', line 30 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) ⇒ Object
17 18 19 20 21 |
# File 'lib/cucumber/pro/web_socket_session.rb', line 17 def send() logger.debug [:session, :send, ] queue.push -> { socket.send(.to_json) } self end |