class Slack::RealTime::Client
def start!
def start! fail ClientAlreadyStartedError if started? EM.run do @options = web_client.rtm_start @socket = Slack::RealTime::Socket.new(@options['url']) @socket.connect! do |ws| ws.on :open do |event| open(event) end ws.on :message do |event| dispatch(event) end ws.on :close do |event| close(event) end end end end