class RubyEventStore::Browser::Event

Attributes

event_store[R]
params[R]

Public Class Methods

new(event_store:, params:) click to toggle source
# File lib/ruby_event_store/browser/event.rb, line 8
def initialize(event_store:, params:)
  @event_store = event_store
  @params      = params
end

Public Instance Methods

as_json() click to toggle source
# File lib/ruby_event_store/browser/event.rb, line 13
def as_json
  {
    data: JsonApiEvent.new(event, parent_event_id).to_h,
  }
end
event() click to toggle source
# File lib/ruby_event_store/browser/event.rb, line 19
def event
  @event ||= event_store.read.event!(event_id)
end
event_id() click to toggle source
# File lib/ruby_event_store/browser/event.rb, line 29
def event_id
  params.fetch(:id)
end
parent_event_id() click to toggle source
# File lib/ruby_event_store/browser/event.rb, line 23
def parent_event_id
  if event.metadata.has_key?(:causation_id)
    event_store.read.event(event.metadata.fetch(:causation_id))&.event_id
  end
end