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)