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 RabbitFeed::Error, 'Unable to publish event. No event definitions set.' unless event_definitions.present? (event_definition = event_definitions[name]) || (raise RabbitFeed::Error, "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 |