class RubyEventStore::Browser::JsonApiEvent
Attributes
event[R]
parent_event_id[R]
Public Class Methods
new(event, parent_event_id)
click to toggle source
# File lib/ruby_event_store/browser/json_api_event.rb, line 6 def initialize(event, parent_event_id) @event = event @parent_event_id = parent_event_id end
Public Instance Methods
to_h()
click to toggle source
# File lib/ruby_event_store/browser/json_api_event.rb, line 11 def to_h { id: event.event_id, type: "events", attributes: { event_type: event.event_type, data: event.data, metadata: metadata, correlation_stream_name: correlation_stream_name, causation_stream_name: causation_stream_name, type_stream_name: type_stream_name, parent_event_id: parent_event_id, }, } end
Private Instance Methods
causation_stream_name()
click to toggle source
# File lib/ruby_event_store/browser/json_api_event.rb, line 41 def causation_stream_name "$by_causation_id_#{event.event_id}" end
correlation_stream_name()
click to toggle source
# File lib/ruby_event_store/browser/json_api_event.rb, line 37 def correlation_stream_name "$by_correlation_id_#{metadata.fetch(:correlation_id)}" if metadata.has_key?(:correlation_id) end
metadata()
click to toggle source
# File lib/ruby_event_store/browser/json_api_event.rb, line 30 def metadata event.metadata.to_h.tap do |m| m[:timestamp] = event.metadata.fetch(:timestamp).iso8601(TIMESTAMP_PRECISION) m[:valid_at] = event.metadata.fetch(:valid_at).iso8601(TIMESTAMP_PRECISION) end end
type_stream_name()
click to toggle source
# File lib/ruby_event_store/browser/json_api_event.rb, line 45 def type_stream_name "$by_type_#{event.event_type}" end