module RubyEventStore::ROM::Memory

Public Class Methods

configure(env) click to toggle source
# File lib/ruby_event_store/rom/memory.rb, line 27
def configure(env)
  env.register_unit_of_work_options(class: UnitOfWork)

  env.register_error_handler :unique_violation, lambda { |ex|
    case ex
    when TupleUniquenessError
      raise EventDuplicatedInStream if ex.message =~ /event_id/

      raise WrongExpectedEventVersion
    end
  }
end
fetch_next_id() click to toggle source
# File lib/ruby_event_store/rom/memory.rb, line 16
def fetch_next_id
  @last_id ||= 0
  @mutex ||= Mutex.new
  @mutex.synchronize { @last_id += 1 }
end
setup(config) click to toggle source
# File lib/ruby_event_store/rom/memory.rb, line 22
def setup(config)
  config.register_relation Relations::Events
  config.register_relation Relations::StreamEntries
end