class Slack::RealTime::Client

def run_loop(socket)

def run_loop(socket)
  @socket = socket
  @socket.connect! do |driver|
    yield driver if block_given?
    driver.on :open do |event|
      logger.debug("#{self.class}##{__method__}") { event.class.name }
      open(event)
      callback(event, :open)
    end
    driver.on :message do |event|
      logger.debug("#{self.class}##{__method__}") { "#{event.class}, #{event.data}" }
      dispatch(event)
    end
    driver.on :close do |event|
      logger.debug("#{self.class}##{__method__}") { event.class.name }
      callback(event, :close)
      close(event)
    end
  end
end