class Slack::RealTime::Socket

def close(_event)

def close(_event)
  @ws = nil
end

def connect!(&_block)

def connect!(&_block)
  return if connected?
  @ws = Faye::WebSocket::Client.new(url)
  @ws.on :close do |event|
    close(event)
  end
  yield @ws if block_given?
end

def connected?

def connected?
  !@ws.nil?
end

def disconnect!

def disconnect!
  @ws.close if @ws
end

def initialize(url)

def initialize(url)
  @url = url
end

def send_data(data)

def send_data(data)
  @ws.send(data) if @ws
end