lib/ruboty/slack_rtm/client.rb in ruboty-slack_rtm-2.1.0 vs lib/ruboty/slack_rtm/client.rb in ruboty-slack_rtm-2.2.0

- old
+ new

@@ -3,11 +3,12 @@ module Ruboty module SlackRTM class Client def initialize(websocket_url:) - @client = WebSocket::Client::Simple.connect(websocket_url.to_s) + @client = create_client(websocket_url.to_s) + @queue = Queue.new end def send(data) data[:id] = Time.now.to_i * 10 + rand(10) @@ -28,9 +29,17 @@ @client.send(message) end end private + + def create_client(url) + WebSocket::Client::Simple.connect(url).tap do |client| + client.on(:error) do |err| + Ruboty.logger.error("#{err.class}: #{err.message}\n#{err.backtrace.join("\n")}") + end + end + end def keep_connection Thread.start do loop do sleep(30)