class RubyEventStore::ROM::Env
Attributes
rom_container[RW]
Public Class Methods
new(rom_container)
click to toggle source
# File lib/ruby_event_store/rom.rb, line 22 def initialize(rom_container) @rom_container = rom_container register(:unique_violation_error_handlers, Set.new) register(:not_found_error_handlers, Set.new) register(:logger, Logger.new(STDOUT).tap { |logger| logger.level = Logger::WARN }) end
Public Instance Methods
handle_error(type, *args, swallow: []) { || ... }
click to toggle source
# File lib/ruby_event_store/rom.rb, line 47 def handle_error(type, *args, swallow: []) yield rescue StandardError => e begin resolve(:"#{type}_error_handlers").each { |h| h.call(e, *args) } raise e rescue *swallow # swallow end end
logger()
click to toggle source
# File lib/ruby_event_store/rom.rb, line 30 def logger resolve(:logger) end
register_error_handler(type, handler)
click to toggle source
# File lib/ruby_event_store/rom.rb, line 43 def register_error_handler(type, handler) resolve(:"#{type}_error_handlers") << handler end
register_unit_of_work_options(options)
click to toggle source
# File lib/ruby_event_store/rom.rb, line 39 def register_unit_of_work_options(options) register(:unit_of_work_options, options) end
unit_of_work(&block)
click to toggle source
# File lib/ruby_event_store/rom.rb, line 34 def unit_of_work(&block) options = resolve(:unit_of_work_options).dup options.delete(:class) { UnitOfWork }.new(rom: self).call(**options, &block) end