Sha256: ca2c9f4e3518f8fb7e9d1a7108464a70ea5fb4721ac727a383f26c3f759447af

Contents?: true

Size: 769 Bytes

Versions: 1

Compression:

Stored size: 769 Bytes

Contents

module EventSourcery
  Error = Class.new(StandardError)
  UnableToLockProcessorError = Class.new(Error)
  UnableToProcessEventError = Class.new(Error)
  ConcurrencyError = Class.new(Error)
  AtomicWriteToMultipleAggregatesNotSupported = Class.new(Error)

  class EventProcessingError < Error
    attr_reader :event, :processor

    def initialize(event:, processor:)
      @event = event
      @processor = processor
    end

    def message
      parts = []
      parts << "#<#{processor.class} @@processor_name=#{processor.processor_name.inspect}>"
      parts << "#<#{event.class} @id=#{event.id.inspect}, @uuid=#{event.uuid.inspect}, @type=#{event.type.inspect}>"
      parts << "#<#{cause.class}: #{cause.message}>"
      parts.join("\n") + "\n"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
event_sourcery-0.15.0 lib/event_sourcery/errors.rb