class Citrus::EventBus::Publisher

Public Class Methods

new(configuration = Configuration.new) click to toggle source
# File lib/citrus/event_bus/publisher.rb, line 9
def initialize(configuration = Configuration.new)
  @configuration = configuration
  @producer      = Poseidon::Producer.new([@configuration.connection_string], SecureRandom.uuid)
end

Public Instance Methods

call(event) click to toggle source
# File lib/citrus/event_bus/publisher.rb, line 14
def call(event)
  message = Poseidon::MessageToSend.new(
      @configuration.topic,
      @configuration.event_serializer.dump(event)
  )
  @producer.send_messages([message])
end