module Slack::RealTime::Config

Constants

ATTRIBUTES

Public Instance Methods

concurrency() click to toggle source
# File lib/slack/real_time/config.rb, line 24
def concurrency
  (val = @concurrency).respond_to?(:call) ? val.call : val
end
reset() click to toggle source
# File lib/slack/real_time/config.rb, line 17
def reset
  self.websocket_ping = 30
  self.websocket_proxy = nil
  self.token = nil
  self.concurrency = method(:detect_concurrency)
end

Private Instance Methods

detect_concurrency() click to toggle source
# File lib/slack/real_time/config.rb, line 30
def detect_concurrency
  [:Eventmachine, :Celluloid].each do |concurrency|
    begin
      return Slack::RealTime::Concurrency.const_get(concurrency)
    rescue LoadError, NameError
      false # could not be loaded, missing dependencies
    end
  end

  fail NoConcurrencyError, 'Missing concurrency. Add faye-websocket or celluloid-io to your Gemfile.'
end