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_h()
Alias for: to_hash
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