lib/slack/realtime/client.rb in slack-api-1.4.0 vs lib/slack/realtime/client.rb in slack-api-1.5.0
- old
+ new
@@ -2,12 +2,13 @@
require 'eventmachine'
module Slack
module RealTime
class Client
- def initialize(url)
- @url = url
+ def initialize(rtm_start_response)
+ @response = rtm_start_response
+ @url = rtm_start_response["url"]
@callbacks ||= {}
end
def on(type, &block)
@callbacks[type] ||= []
@@ -33,9 +34,19 @@
ws.on :close do |event|
@callbacks[:close].each { |c| c.call } unless @callbacks[:close].nil?
EM.stop
end
end
+ end
+
+ def method_missing(method, *args, &block)
+ return super if @response[method.to_s].nil?
+ @response[method.to_s]
+ end
+
+ # Delegate to Slack::Client
+ def respond_to?(method, include_all=false)
+ return !@response[method.to_s].nil? || super
end
end
end
end