class Capybara::Apparition::WebSocketClient
Attributes
driver[R]
messages[R]
status[R]
Public Class Methods
new(url)
click to toggle source
# File lib/capybara/apparition/driver/web_socket_client.rb, line 9 def initialize(url) @socket = Socket.new(url) @driver = ::WebSocket::Driver.client(@socket) @messages = [] @status = :closed setup_driver start_driver end
Public Instance Methods
close()
click to toggle source
# File lib/capybara/apparition/driver/web_socket_client.rb, line 28 def close @driver.close end
read_msg()
click to toggle source
# File lib/capybara/apparition/driver/web_socket_client.rb, line 23 def read_msg parse_input until (msg = messages.shift) msg end
send_msg(msg)
click to toggle source
# File lib/capybara/apparition/driver/web_socket_client.rb, line 19 def send_msg(msg) driver.text msg end
Private Instance Methods
parse_input()
click to toggle source
# File lib/capybara/apparition/driver/web_socket_client.rb, line 57 def parse_input @driver.parse(@socket.read) end
setup_driver()
click to toggle source
# File lib/capybara/apparition/driver/web_socket_client.rb, line 34 def setup_driver driver.on(:message) do |e| messages << e.data end driver.on(:error) do |e| raise e.message end driver.on(:close) do |_e| @status = :closed end driver.on(:open) do |_e| @status = :open end end
start_driver()
click to toggle source
# File lib/capybara/apparition/driver/web_socket_client.rb, line 52 def start_driver driver.start parse_input until status == :open end