class Synapse::EventStore::Mongo::DocumentPerEventStrategy
Storage strategy that stores each event as its own document
Public Instance Methods
create_documents(type_identifier, events)
click to toggle source
@param [String] type_identifier Type identifier for the aggregate @param [Array] events Domain events to be committed @return [Array]
# File lib/synapse/event_store/mongo/per_event_strategy.rb, line 9 def create_documents(type_identifier, events) documents = Array.new events.each do |event| document = EventDocument.new document.from_event event, type_identifier, @serializer documents.push document.to_hash end documents end
extract_events(hash, aggregate_id)
click to toggle source
@param [Hash] hash @param [Object] aggregate_id @return [Array]
# File lib/synapse/event_store/mongo/per_event_strategy.rb, line 25 def extract_events(hash, aggregate_id) document = EventDocument.new document.from_hash(hash).to_events(aggregate_id, @serializer, @upcaster_chain) end