class RubyEventStore::ROM::Repositories::StreamEntries
Constants
- POSITION_SHIFT
Public Instance Methods
create_changeset(event_ids, stream, resolved_version, global_stream: nil)
click to toggle source
# File lib/ruby_event_store/rom/repositories/stream_entries.rb, line 12 def create_changeset(event_ids, stream, resolved_version, global_stream: nil) tuples = [] event_ids.each_with_index do |event_id, index| unless stream.global? tuples << { stream: stream.name, position: resolved_version && resolved_version + index + POSITION_SHIFT, event_id: event_id } end next unless global_stream tuples << { stream: stream_entries.class::SERIALIZED_GLOBAL_STREAM_NAME, position: nil, event_id: event_id } end stream_entries.create_changeset(tuples) end
delete(stream)
click to toggle source
# File lib/ruby_event_store/rom/repositories/stream_entries.rb, line 36 def delete(stream) stream_entries.by_stream(stream).command(:delete).call end
resolve_version(stream, expected_version)
click to toggle source
# File lib/ruby_event_store/rom/repositories/stream_entries.rb, line 40 def resolve_version(stream, expected_version) expected_version.resolve_for(stream, lambda { |_stream| (stream_entries.max_position(stream) || {})[:position] }) end
streams_of(event_id)
click to toggle source
# File lib/ruby_event_store/rom/repositories/stream_entries.rb, line 46 def streams_of(event_id) stream_entries.by_event_id(event_id).map { |e| e[:stream] } .reject { |s| s == stream_entries.class::SERIALIZED_GLOBAL_STREAM_NAME } end