module Slack::RealTime::Config

Constants

ATTRIBUTES

Public Instance Methods

concurrency() click to toggle source
# File lib/slack/real_time/config.rb, line 32
def concurrency
  (val = @concurrency).respond_to?(:call) ? val.call : val
end
reset() click to toggle source
# File lib/slack/real_time/config.rb, line 21
def reset
  self.websocket_ping = 30
  self.websocket_proxy = nil
  self.token = nil
  self.concurrency = method(:detect_concurrency)
  self.start_method = nil
  self.start_options = { request: { timeout: 180 } }
  self.store_class = Slack::RealTime::Store
  self.logger = nil
end

Private Instance Methods

detect_concurrency() click to toggle source
# File lib/slack/real_time/config.rb, line 38
def detect_concurrency
  %i[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

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