class RubyEventStore::LinkByMetadata
Public Class Methods
Source
# File lib/ruby_event_store/link_by_metadata.rb, line 5 def initialize(event_store:, key:, prefix: nil) @event_store = event_store @key = key @prefix = prefix || ["$by", key, nil].join("_") end
Public Instance Methods
Source
# File lib/ruby_event_store/link_by_metadata.rb, line 11 def call(event) return unless event.metadata.has_key?(@key) @event_store.link([event.event_id], stream_name: "#{@prefix}#{event.metadata.fetch(@key)}") end