lib/slack/real_time/concurrency/celluloid.rb in slack-ruby-client-0.14.4 vs lib/slack/real_time/concurrency/celluloid.rb in slack-ruby-client-0.14.5
- old
+ new
@@ -1,5 +1,6 @@
+# frozen_string_literal: true
require 'websocket/driver'
require 'socket'
require 'forwardable'
require 'celluloid/current'
require 'celluloid/io'
@@ -34,16 +35,21 @@
@connected = @socket.connect
driver.start
loop { read } if socket
rescue EOFError, Errno::ECONNRESET, Errno::EPIPE => e
logger.debug("#{self.class}##{__method__}") { e }
- driver.emit(:close, WebSocket::Driver::CloseEvent.new(1001, 'server closed connection')) unless @closing
+ unless @closing
+ driver.emit(
+ :close,
+ WebSocket::Driver::CloseEvent.new(1001, 'server closed connection')
+ )
+ end
end
def disconnect!
super
- @ping_timer.cancel if @ping_timer
+ @ping_timer&.cancel
end
def close
@closing = true
super
@@ -56,10 +62,10 @@
async.handle_read(buffer)
end
def handle_read(buffer)
logger.debug("#{self.class}##{__method__}") { buffer }
- driver.parse buffer if driver
+ driver&.parse buffer
end
def write(data)
logger.debug("#{self.class}##{__method__}") { data }
socket.write(data)