Sha256: e0abd03c9c26e4de6846870ed3376ac3a8b48f258662e3c552a67d926d1df9ba

Contents?: true

Size: 738 Bytes

Versions: 11

Compression:

Stored size: 738 Bytes

Contents

# frozen_string_literal: true

module PgEventstore
  module Commands
    module EventModifiers
      # Defines how to transform regular event before appending it to the stream
      # @!visibility private
      class PrepareRegularEvent
        class << self
          # @param event [PgEventstore::Event]
          # @param revision [Integer]
          # @return [PgEventstore::Event]
          def call(event, revision)
            event.class.new(
              id: event.id, data: event.data, metadata: event.metadata, type: event.type, stream_revision: revision
            ).tap do |e|
              %i[link_id stream_revision].each { |attr| e.readonly!(attr) }
            end
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pg_eventstore-0.10.2 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.10.1 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.9.0 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.8.0 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.7.2 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.7.1 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.7.0 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.6.0 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.5.3 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.5.2 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb
pg_eventstore-0.5.0 lib/pg_eventstore/commands/event_modifiers/prepare_regular_event.rb