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