Class: WisperKafka::Broadcaster

Inherits:
Object
  • Object
show all
Defined in:
lib/wisper_kafka/broadcaster.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.kafka_options(subscriber, args) ⇒ Object

:reek:ManualDispatch



18
19
20
21
22
# File 'lib/wisper_kafka/broadcaster.rb', line 18

def self.kafka_options(subscriber, args)
  return subscriber.kafka_options(*args) if subscriber.respond_to?(:kafka_options)

  { topic: WisperKafka::Settings.topic }
end

.registerObject



11
12
13
14
15
# File 'lib/wisper_kafka/broadcaster.rb', line 11

def self.register
  Wisper.configure do |config|
    config.broadcaster :kafka, new
  end
end

Instance Method Details

#broadcast(subscriber, _publisher, event, args) ⇒ Object

:reek:LongParameterList :reek:UtilityFunction



26
27
28
29
30
31
# File 'lib/wisper_kafka/broadcaster.rb', line 26

def broadcast(subscriber, _publisher, event, args)
  event_data = { subscriber: subscriber, event: event, args: args }
  kafka_options = self.class.kafka_options(subscriber, args)

  DeliveryBoy.deliver(event_data.to_json, **kafka_options)
end