class EventRouter::Event
Attributes
correlation_id[RW]
created_at[R]
payload[R]
uid[R]
Public Class Methods
deliver_to(name, opts = {})
click to toggle source
# File lib/event_router/event.rb, line 45 def deliver_to(name, opts = {}) destinations[name] = EventRouter::Destination.new(name, **opts) end
event_options(opts)
click to toggle source
# File lib/event_router/event.rb, line 49 def event_options(opts) self.options = opts end
inherited(base)
click to toggle source
Calls superclass method
# File lib/event_router/event.rb, line 40 def inherited(base) base.destinations = destinations.dup super end
new(uid: SecureRandom.uuid, correlation_id: SecureRandom.uuid, created_at: Time.now, **payload)
click to toggle source
# File lib/event_router/event.rb, line 17 def initialize(uid: SecureRandom.uuid, correlation_id: SecureRandom.uuid, created_at: Time.now, **payload) @uid = uid @correlation_id = correlation_id @created_at = created_at @payload = payload end
publish(**attrs)
click to toggle source
# File lib/event_router/event.rb, line 53 def publish(**attrs) EventRouter.publish(new(**attrs)) end
publish_async(**attrs)
click to toggle source
# File lib/event_router/event.rb, line 57 def publish_async(**attrs) EventRouter.publish_async(new(**attrs)) end
Public Instance Methods
name()
click to toggle source
# File lib/event_router/event.rb, line 35 def name self.class.name.demodulize.underscore end
to_hash()
click to toggle source
# File lib/event_router/event.rb, line 24 def to_hash { uid: uid, correlation_id: correlation_id, payload: payload, created_at: created_at } end
Also aliased as: to_h