Module: Toot

Defined in:
lib/toot.rb,
lib/toot/event.rb,
lib/toot/rails.rb,
lib/toot/config.rb,
lib/toot/errors.rb,
lib/toot/source.rb,
lib/toot/version.rb,
lib/toot/subscription.rb,
lib/toot/calls_handlers.rb,
lib/toot/handler_service.rb,
lib/toot/publishes_event.rb,
lib/toot/calls_event_callback.rb,
lib/toot/subscriptions_service.rb,
lib/toot/registers_subscriptions.rb

Defined Under Namespace

Classes: CallbackFailure, CallsEventCallback, CallsHandlers, Config, ConfigError, Error, Event, HandlerService, PublishesEvent, Rails, RegisterSubscriptionFailure, RegistersSubscriptions, Source, Subscription, SubscriptionsService

Constant Summary collapse

CONFIG_ATTRS =
%i[
  channel_prefix
  http_connection
  redis_connection
  callback_url
]
VERSION =
"0.4.1"

Class Method Summary collapse

Class Method Details

.configObject



21
22
23
24
25
26
27
# File 'lib/toot.rb', line 21

def self.config
  if block_given?
    yield config
  else
    @config ||= Config.new
  end
end

.publish(channel, payload, prefix: config.channel_prefix) ⇒ Object



33
34
35
36
37
38
# File 'lib/toot.rb', line 33

def self.publish(channel, payload, prefix: config.channel_prefix)
  Event.new(
    channel: [prefix, channel].join,
    payload: payload
  ).publish
end

.redis(connection = config.redis_connection, &block) ⇒ Object



44
45
46
# File 'lib/toot.rb', line 44

def self.redis(connection=config.redis_connection, &block)
  connection.call(&block)
end

.reset_configObject



29
30
31
# File 'lib/toot.rb', line 29

def self.reset_config
  @config = Config.new
end

.subscribe(*args) ⇒ Object



40
41
42
# File 'lib/toot.rb', line 40

def self.subscribe(*args)
  config.subscribe(*args)
end