lib/rabbit_feed/producer.rb in rabbit_feed-2.4.4 vs lib/rabbit_feed/producer.rb in rabbit_feed-3.0.0
- old
+ new
@@ -2,45 +2,45 @@
module Producer
extend self
attr_accessor :event_definitions
- 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
- metadata = (metadata event_definition.version, name, timestamp)
- event = Event.new metadata, payload, event_definition.schema, event_definition.sensitive_fields
- RabbitFeed.log.info {{ event: :publish_start, metadata: event.metadata }}
+ 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")
+ timestamp = Time.now.utc
+ metadata = (metadata event_definition.version, name, timestamp)
+ event = Event.new metadata, payload, event_definition.schema, event_definition.sensitive_fields
+ RabbitFeed.log.info { { event: :publish_start, metadata: event.metadata } }
ProducerConnection.instance.publish event.serialize, (options name, timestamp)
- RabbitFeed.log.info {{ event: :publish_end, metadata: event.metadata }}
+ RabbitFeed.log.info { { event: :publish_end, metadata: event.metadata } }
event
end
private
- def metadata version, name, timestamp
+ 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,
+ 'schema_version' => Event::SCHEMA_VERSION
}
end
- def routing_key event_name
+ def routing_key(event_name)
"#{RabbitFeed.environment}#{RabbitFeed.configuration.route_prefix_extension}.#{RabbitFeed.configuration.application}.#{event_name}"
end
- def options event_name, timestamp
+ def options(event_name, timestamp)
{
routing_key: (routing_key event_name),
type: event_name,
app_id: RabbitFeed.configuration.application,
- timestamp: timestamp.to_i,
+ timestamp: timestamp.to_i
}
end
end
end