Module: RabbitFeed::Producer
Instance Attribute Summary collapse
-
#event_definitions ⇒ Object
Returns the value of attribute event_definitions.
Instance Method Summary collapse
Instance Attribute Details
#event_definitions ⇒ Object
Returns the value of attribute event_definitions.
5 6 7 |
# File 'lib/rabbit_feed/producer.rb', line 5 def event_definitions @event_definitions end |
Instance Method Details
#publish_event(name, payload) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/rabbit_feed/producer.rb', line 7 def publish_event name, payload raise (Error.new 'Unable to publish event. No event definitions set.') unless event_definitions.present? event_definition = event_definitions[name] or raise (Error.new "definition for event: #{name} not found") = Time.now.utc = ( event_definition.version, name, ) event = Event.new , payload, event_definition.schema, event_definition.sensitive_fields RabbitFeed.log.info {{ event: :publish_start, metadata: event. }} ProducerConnection.instance.publish event.serialize, ( name, ) RabbitFeed.log.info {{ event: :publish_end, metadata: event. }} event end |