lib/rabbit_feed/producer.rb in rabbit_feed-1.0.2 vs lib/rabbit_feed/producer.rb in rabbit_feed-2.0.0
- old
+ new
@@ -6,26 +6,27 @@
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")
timestamp = Time.now.utc
- payload = (enriched_payload payload, event_definition.version, name, timestamp)
- event = Event.new event_definition.schema, payload
+ metadata = (metadata event_definition.version, name, timestamp)
+ event = Event.new metadata, payload, event_definition.schema
ProducerConnection.publish event.serialize, (options name, timestamp)
event
end
private
- def enriched_payload payload, version, name, timestamp
- payload.merge ({
- 'application' => RabbitFeed.configuration.application,
- 'host' => Socket.gethostname,
- 'environment' => RabbitFeed.environment,
- 'created_at_utc' => timestamp.iso8601(6),
- 'version' => version,
- 'name' => name,
- })
+ def metadata version, name, timestamp
+ {
+ 'application' => RabbitFeed.configuration.application,
+ 'host' => Socket.gethostname,
+ 'environment' => RabbitFeed.environment,
+ 'created_at_utc' => timestamp.iso8601(6),
+ 'version' => version,
+ 'name' => name,
+ 'schema_version' => Event::SCHEMA_VERSION,
+ }
end
def routing_key event_name
"#{RabbitFeed.environment}.#{RabbitFeed.configuration.application}.#{event_name}"
end