class EventBus::Emitter

Public: An class which decorates el-rabbit topic creation.

Public Class Methods

trigger(*events) click to toggle source

Public: Produces a event on the Broker.

event - The event to be produced.

Returns the Event.

# File lib/event_bus/emitter.rb, line 12
def self.trigger(*events)
  events.flatten.each_with_index do |event, index|
    raise MissingAttributeError.new("Event on position #{index} must have a body") unless event.has_body?
    raise MissingAttributeError.new("Event on position #{index} must have a name") unless event.has_name?
  end

  EventBus::Config.broker.produce(events.flatten)

  events
end