ruby_event_store 2.5.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ruby_event_store/client.rb +3 -3
- data/lib/ruby_event_store/event.rb +1 -4
- data/lib/ruby_event_store/expected_version.rb +1 -4
- data/lib/ruby_event_store/instrumented_subscriptions.rb +61 -0
- data/lib/ruby_event_store/mappers/transformation/preserve_types.rb +123 -0
- data/lib/ruby_event_store/record.rb +1 -2
- data/lib/ruby_event_store/serialized_record.rb +1 -2
- data/lib/ruby_event_store/spec/event_repository_lint.rb +9 -0
- data/lib/ruby_event_store/specification.rb +4 -4
- data/lib/ruby_event_store/specification_result.rb +1 -5
- data/lib/ruby_event_store/stream.rb +1 -4
- data/lib/ruby_event_store/transform_keys.rb +9 -10
- data/lib/ruby_event_store/version.rb +1 -1
- data/lib/ruby_event_store.rb +2 -0
- metadata +5 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 81a9b613c69a42dd544741b6c9beda7f8bffe1e680eba7e4bd93c1fad1ef2f40
         | 
| 4 | 
            +
              data.tar.gz: ada38679291f059d618a9232770d401f795deb3e0ce6b8c04e43604269a36353
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 106d20e97c28f0595d5750aa61934a905b74aa8d9ecd28ac14176225c5a257082017da184c47d7a314cda09e142b5c1e31a20a9544bee2eeaf4973f8f158a745
         | 
| 7 | 
            +
              data.tar.gz: b78ee185caefd7070b3cb82f355f03e6efd9299c367187fbbdde5cb65e75973d796dba103c7ddc3123a6eb7919992dab1cb84cef9717409632244cdf93a6a7eb
         | 
| @@ -254,9 +254,9 @@ module RubyEventStore | |
| 254 254 | 
             
                # @param metadata [Hash] metadata to set for events
         | 
| 255 255 | 
             
                # @param block [Proc] block of code during which the metadata will be added
         | 
| 256 256 | 
             
                # @return [Object] last value returned by the provided block
         | 
| 257 | 
            -
                def with_metadata( | 
| 258 | 
            -
                  previous_metadata = metadata | 
| 259 | 
            -
                  self.metadata = previous_metadata.merge( | 
| 257 | 
            +
                def with_metadata(metadata_for_block, &block)
         | 
| 258 | 
            +
                  previous_metadata = metadata
         | 
| 259 | 
            +
                  self.metadata = previous_metadata.merge(metadata_for_block)
         | 
| 260 260 | 
             
                  block.call if block_given?
         | 
| 261 261 | 
             
                ensure
         | 
| 262 262 | 
             
                  self.metadata = previous_metadata
         | 
| @@ -62,9 +62,6 @@ module RubyEventStore | |
| 62 62 | 
             
                    other_event.event_id.eql?(event_id) && other_event.data.eql?(data)
         | 
| 63 63 | 
             
                end
         | 
| 64 64 |  | 
| 65 | 
            -
                # @private
         | 
| 66 | 
            -
                BIG_VALUE = 0b111111100100000010010010110011101011000101010101001100100110000
         | 
| 67 | 
            -
             | 
| 68 65 | 
             
                # Generates a Fixnum hash value for this object. This function
         | 
| 69 66 | 
             
                # have the property that a.eql?(b) implies a.hash == b.hash.
         | 
| 70 67 | 
             
                #
         | 
| @@ -77,7 +74,7 @@ module RubyEventStore | |
| 77 74 | 
             
                # * data
         | 
| 78 75 | 
             
                def hash
         | 
| 79 76 | 
             
                  # We don't use metadata because == does not use metadata
         | 
| 80 | 
            -
                  [ | 
| 77 | 
            +
                  [event_type, event_id, data].hash ^ self.class.hash
         | 
| 81 78 | 
             
                end
         | 
| 82 79 |  | 
| 83 80 | 
             
                # Reads correlation_id from metadata.
         | 
| @@ -49,11 +49,8 @@ module RubyEventStore | |
| 49 49 | 
             
                  end
         | 
| 50 50 | 
             
                end
         | 
| 51 51 |  | 
| 52 | 
            -
                BIG_VALUE = 0b110111100100000010010010110011101011000101010101001100100110011
         | 
| 53 | 
            -
                private_constant :BIG_VALUE
         | 
| 54 | 
            -
             | 
| 55 52 | 
             
                def hash
         | 
| 56 | 
            -
                   | 
| 53 | 
            +
                  version.hash ^ self.class.hash
         | 
| 57 54 | 
             
                end
         | 
| 58 55 |  | 
| 59 56 | 
             
                def ==(other_expected_version)
         | 
| @@ -0,0 +1,61 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module RubyEventStore
         | 
| 4 | 
            +
              class InstrumentedSubscriptions
         | 
| 5 | 
            +
                def initialize(subscriptions, instrumentation)
         | 
| 6 | 
            +
                  @subscriptions = subscriptions
         | 
| 7 | 
            +
                  @instrumentation = instrumentation
         | 
| 8 | 
            +
                end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                def add_subscription(subscriber, event_types)
         | 
| 11 | 
            +
                  instrument(subscriber: subscriber, event_types: event_types) do
         | 
| 12 | 
            +
                    subscriptions.add_subscription(subscriber, event_types)
         | 
| 13 | 
            +
                  end
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def add_global_subscription(subscriber)
         | 
| 17 | 
            +
                  instrument(subscriber: subscriber) do
         | 
| 18 | 
            +
                    subscriptions.add_global_subscription(subscriber)
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                def add_thread_subscription(subscriber, event_types)
         | 
| 23 | 
            +
                  instrument(subscriber: subscriber, event_types: event_types) do
         | 
| 24 | 
            +
                    subscriptions.add_thread_subscription(subscriber, event_types)
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                def add_thread_global_subscription(subscriber)
         | 
| 29 | 
            +
                  instrument(subscriber: subscriber) do
         | 
| 30 | 
            +
                    subscriptions.add_thread_global_subscription(subscriber)
         | 
| 31 | 
            +
                  end
         | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                def method_missing(method_name, *arguments, &block)
         | 
| 35 | 
            +
                  if respond_to?(method_name)
         | 
| 36 | 
            +
                    subscriptions.public_send(method_name, *arguments, &block)
         | 
| 37 | 
            +
                  else
         | 
| 38 | 
            +
                    super
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                def respond_to_missing?(method_name, _include_private)
         | 
| 43 | 
            +
                  subscriptions.respond_to?(method_name)
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                private
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                def instrument(args)
         | 
| 49 | 
            +
                  instrumentation.instrument("add.subscriptions.rails_event_store", args) do
         | 
| 50 | 
            +
                    unsubscribe = yield
         | 
| 51 | 
            +
                    ->() {
         | 
| 52 | 
            +
                      instrumentation.instrument("remove.subscriptions.rails_event_store", args) do
         | 
| 53 | 
            +
                        unsubscribe.call
         | 
| 54 | 
            +
                      end
         | 
| 55 | 
            +
                    }
         | 
| 56 | 
            +
                  end
         | 
| 57 | 
            +
                end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                attr_reader :instrumentation, :subscriptions
         | 
| 60 | 
            +
              end
         | 
| 61 | 
            +
            end
         | 
| @@ -0,0 +1,123 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module RubyEventStore
         | 
| 4 | 
            +
              module Mappers
         | 
| 5 | 
            +
                module Transformation
         | 
| 6 | 
            +
                  class PreserveTypes
         | 
| 7 | 
            +
                    def initialize(type_resolver: ->(type) { type.to_s } )
         | 
| 8 | 
            +
                      @registered_type_serializers = {}
         | 
| 9 | 
            +
                      @type_resolver = type_resolver
         | 
| 10 | 
            +
                    end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    def register(type, serializer:, deserializer:)
         | 
| 13 | 
            +
                      @registered_type_serializers[@type_resolver.(type)] = {
         | 
| 14 | 
            +
                        serializer: serializer,
         | 
| 15 | 
            +
                        deserializer: deserializer
         | 
| 16 | 
            +
                      }
         | 
| 17 | 
            +
                      self
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                    def dump(record)
         | 
| 21 | 
            +
                      data = transform(record.data)
         | 
| 22 | 
            +
                      metadata = transform(record.metadata)
         | 
| 23 | 
            +
                      if (metadata.respond_to?(:[]=))
         | 
| 24 | 
            +
                        metadata[:types] = {
         | 
| 25 | 
            +
                          data: store_type(record.data),
         | 
| 26 | 
            +
                          metadata: store_type(record.metadata),
         | 
| 27 | 
            +
                        }
         | 
| 28 | 
            +
                      end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                      Record.new(
         | 
| 31 | 
            +
                        event_id:   record.event_id,
         | 
| 32 | 
            +
                        event_type: record.event_type,
         | 
| 33 | 
            +
                        data:       data,
         | 
| 34 | 
            +
                        metadata:   metadata,
         | 
| 35 | 
            +
                        timestamp:  record.timestamp,
         | 
| 36 | 
            +
                        valid_at:   record.valid_at,
         | 
| 37 | 
            +
                      )
         | 
| 38 | 
            +
                    end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                    def load(record)
         | 
| 41 | 
            +
                      types = record.metadata.delete(:types) rescue nil
         | 
| 42 | 
            +
                      data_types = types&.fetch(:data, nil)
         | 
| 43 | 
            +
                      metadata_types = types&.fetch(:metadata, nil)
         | 
| 44 | 
            +
                      data = data_types ? restore_type(record.data, data_types) : record.data
         | 
| 45 | 
            +
                      metadata = metadata_types ? restore_type(record.metadata, metadata_types) : record.metadata
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                      Record.new(
         | 
| 48 | 
            +
                        event_id:   record.event_id,
         | 
| 49 | 
            +
                        event_type: record.event_type,
         | 
| 50 | 
            +
                        data:       data,
         | 
| 51 | 
            +
                        metadata:   metadata,
         | 
| 52 | 
            +
                        timestamp:  record.timestamp,
         | 
| 53 | 
            +
                        valid_at:   record.valid_at,
         | 
| 54 | 
            +
                      )
         | 
| 55 | 
            +
                    end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                    private
         | 
| 58 | 
            +
                    PASS_THROUGH = ->(v) { v }
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                    def transform_hash(argument)
         | 
| 61 | 
            +
                      argument.each_with_object({}) do |(key, value), hash|
         | 
| 62 | 
            +
                        hash[transform(key)] = transform(value)
         | 
| 63 | 
            +
                      end
         | 
| 64 | 
            +
                    end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                    def transform(argument)
         | 
| 67 | 
            +
                      case argument
         | 
| 68 | 
            +
                      when Hash
         | 
| 69 | 
            +
                        transform_hash(argument)
         | 
| 70 | 
            +
                      when Array
         | 
| 71 | 
            +
                        argument.map{|i| transform(i)}
         | 
| 72 | 
            +
                      else
         | 
| 73 | 
            +
                        serializer_of(argument.class).call(argument)
         | 
| 74 | 
            +
                      end
         | 
| 75 | 
            +
                    end
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                    def store_types(argument)
         | 
| 78 | 
            +
                      argument.each_with_object({}) do |(key, value), hash|
         | 
| 79 | 
            +
                        hash[transform(key)] = [store_type(key), store_type(value)]
         | 
| 80 | 
            +
                      end
         | 
| 81 | 
            +
                    end
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                    def store_type(argument)
         | 
| 84 | 
            +
                      case argument
         | 
| 85 | 
            +
                      when Hash
         | 
| 86 | 
            +
                        store_types(argument)
         | 
| 87 | 
            +
                      when Array
         | 
| 88 | 
            +
                        argument.map{|i| store_type(i)}
         | 
| 89 | 
            +
                      else
         | 
| 90 | 
            +
                        argument.class.name
         | 
| 91 | 
            +
                      end
         | 
| 92 | 
            +
                    end
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                    def restore_types(argument, types)
         | 
| 95 | 
            +
                      argument.each_with_object({}) do |(key, value), hash|
         | 
| 96 | 
            +
                        key_type, value_type = types.fetch(key.to_sym)
         | 
| 97 | 
            +
                        restored_key = restore_type(key, key_type)
         | 
| 98 | 
            +
                        hash[restored_key] = restore_type(value, value_type)
         | 
| 99 | 
            +
                      end
         | 
| 100 | 
            +
                    end
         | 
| 101 | 
            +
             | 
| 102 | 
            +
                    def restore_type(argument, type)
         | 
| 103 | 
            +
                      case argument
         | 
| 104 | 
            +
                      when Hash
         | 
| 105 | 
            +
                        restore_types(argument, type)
         | 
| 106 | 
            +
                      when Array
         | 
| 107 | 
            +
                        argument.each_with_index.map{|a,idx| restore_type(a, type.fetch(idx))}
         | 
| 108 | 
            +
                      else
         | 
| 109 | 
            +
                        deserializer_of(type).call(argument)
         | 
| 110 | 
            +
                      end
         | 
| 111 | 
            +
                    end
         | 
| 112 | 
            +
             | 
| 113 | 
            +
                    def serializer_of(type)
         | 
| 114 | 
            +
                      @registered_type_serializers.dig(@type_resolver.(type), :serializer) || PASS_THROUGH
         | 
| 115 | 
            +
                    end
         | 
| 116 | 
            +
             | 
| 117 | 
            +
                    def deserializer_of(type)
         | 
| 118 | 
            +
                      @registered_type_serializers.dig(type, :deserializer) || PASS_THROUGH
         | 
| 119 | 
            +
                    end
         | 
| 120 | 
            +
                  end
         | 
| 121 | 
            +
                end
         | 
| 122 | 
            +
              end
         | 
| 123 | 
            +
            end
         | 
| @@ -17,9 +17,8 @@ module RubyEventStore | |
| 17 17 |  | 
| 18 18 | 
             
                attr_reader :event_id, :data, :metadata, :event_type, :timestamp, :valid_at
         | 
| 19 19 |  | 
| 20 | 
            -
                BIG_VALUE = 0b110011100100000010010010110011101011110101010101001100111110011
         | 
| 21 20 | 
             
                def hash
         | 
| 22 | 
            -
                  [ | 
| 21 | 
            +
                  [event_id, data, metadata, event_type, timestamp, valid_at].hash ^ self.class.hash
         | 
| 23 22 | 
             
                end
         | 
| 24 23 |  | 
| 25 24 | 
             
                def ==(other)
         | 
| @@ -16,9 +16,8 @@ module RubyEventStore | |
| 16 16 |  | 
| 17 17 | 
             
                attr_reader :event_id, :data, :metadata, :event_type, :timestamp, :valid_at
         | 
| 18 18 |  | 
| 19 | 
            -
                BIG_VALUE = 0b110011100100000010010010110011101011110101010101001100111110111
         | 
| 20 19 | 
             
                def hash
         | 
| 21 | 
            -
                  [ | 
| 20 | 
            +
                  [event_id, data, metadata, event_type, timestamp, valid_at].hash ^ self.class.hash
         | 
| 22 21 | 
             
                end
         | 
| 23 22 |  | 
| 24 23 | 
             
                def ==(other)
         | 
| @@ -1407,6 +1407,15 @@ module RubyEventStore | |
| 1407 1407 | 
             
                  )
         | 
| 1408 1408 | 
             
                  expect(repository.read(specification.result).count).to eq(0)
         | 
| 1409 1409 | 
             
                end
         | 
| 1410 | 
            +
             | 
| 1411 | 
            +
                specify "linking empty list of commits to stream should be a no-op" do
         | 
| 1412 | 
            +
                  repository.link_to_stream(
         | 
| 1413 | 
            +
                    [],
         | 
| 1414 | 
            +
                    RubyEventStore::Stream.new("whatever-non-globa"),
         | 
| 1415 | 
            +
                    RubyEventStore::ExpectedVersion.any
         | 
| 1416 | 
            +
                  )
         | 
| 1417 | 
            +
                  expect(repository.read(specification.result).count).to eq(0)
         | 
| 1418 | 
            +
                end
         | 
| 1410 1419 | 
             
              end
         | 
| 1411 1420 |  | 
| 1412 1421 | 
             
              ::RSpec::Matchers.define :eq_ids do |expected_ids|
         | 
| @@ -43,7 +43,7 @@ module RubyEventStore | |
| 43 43 | 
             
                  Specification.new(reader, result.dup { |r| r.stop = stop })
         | 
| 44 44 | 
             
                end
         | 
| 45 45 |  | 
| 46 | 
            -
                # Limits the query to events that  | 
| 46 | 
            +
                # Limits the query to events that occurred before given time.
         | 
| 47 47 | 
             
                # {http://railseventstore.org/docs/read/ Find out more}.
         | 
| 48 48 | 
             
                #
         | 
| 49 49 | 
             
                # @param time [Time]
         | 
| @@ -59,7 +59,7 @@ module RubyEventStore | |
| 59 59 | 
             
                  )
         | 
| 60 60 | 
             
                end
         | 
| 61 61 |  | 
| 62 | 
            -
                # Limits the query to events that occurred on given time | 
| 62 | 
            +
                # Limits the query to events that occurred on or before given time.
         | 
| 63 63 | 
             
                # {http://railseventstore.org/docs/read/ Find out more}.
         | 
| 64 64 | 
             
                #
         | 
| 65 65 | 
             
                # @param time [Time]
         | 
| @@ -75,7 +75,7 @@ module RubyEventStore | |
| 75 75 | 
             
                  )
         | 
| 76 76 | 
             
                end
         | 
| 77 77 |  | 
| 78 | 
            -
                # Limits the query to events that occurred  | 
| 78 | 
            +
                # Limits the query to events that occurred after given time.
         | 
| 79 79 | 
             
                # {http://railseventstore.org/docs/read/ Find out more}.
         | 
| 80 80 | 
             
                #
         | 
| 81 81 | 
             
                # @param time [Time]
         | 
| @@ -91,7 +91,7 @@ module RubyEventStore | |
| 91 91 | 
             
                  )
         | 
| 92 92 | 
             
                end
         | 
| 93 93 |  | 
| 94 | 
            -
                # Limits the query to events that occurred on given time | 
| 94 | 
            +
                # Limits the query to events that occurred on or after given time.
         | 
| 95 95 | 
             
                # {http://railseventstore.org/docs/read/ Find out more}.
         | 
| 96 96 | 
             
                #
         | 
| 97 97 | 
             
                # @param time [Time]
         | 
| @@ -244,9 +244,6 @@ module RubyEventStore | |
| 244 244 | 
             
                  other_spec.hash.eql?(hash)
         | 
| 245 245 | 
             
                end
         | 
| 246 246 |  | 
| 247 | 
            -
                # @private
         | 
| 248 | 
            -
                BIG_VALUE = 0b100010010100011110111101100001011111100101001010111110101000000
         | 
| 249 | 
            -
             | 
| 250 247 | 
             
                # Generates a Fixnum hash value for this object. This function
         | 
| 251 248 | 
             
                # have the property that a.eql?(b) implies a.hash == b.hash.
         | 
| 252 249 | 
             
                #
         | 
| @@ -273,7 +270,6 @@ module RubyEventStore | |
| 273 270 | 
             
                # @return [Integer]
         | 
| 274 271 | 
             
                def hash
         | 
| 275 272 | 
             
                  [
         | 
| 276 | 
            -
                    self.class,
         | 
| 277 273 | 
             
                    get_direction,
         | 
| 278 274 | 
             
                    start,
         | 
| 279 275 | 
             
                    stop,
         | 
| @@ -288,7 +284,7 @@ module RubyEventStore | |
| 288 284 | 
             
                    batch_size,
         | 
| 289 285 | 
             
                    with_ids,
         | 
| 290 286 | 
             
                    with_types
         | 
| 291 | 
            -
                  ].hash ^  | 
| 287 | 
            +
                  ].hash ^ self.class.hash
         | 
| 292 288 | 
             
                end
         | 
| 293 289 |  | 
| 294 290 | 
             
                private
         | 
| @@ -13,9 +13,8 @@ module RubyEventStore | |
| 13 13 |  | 
| 14 14 | 
             
                attr_reader :name
         | 
| 15 15 |  | 
| 16 | 
            -
                BIG_VALUE = 0b111111100100000010010010110011101011000101010101001100100110011
         | 
| 17 16 | 
             
                def hash
         | 
| 18 | 
            -
                   | 
| 17 | 
            +
                  name.hash ^ self.class.hash
         | 
| 19 18 | 
             
                end
         | 
| 20 19 |  | 
| 21 20 | 
             
                def ==(other_stream)
         | 
| @@ -23,7 +22,5 @@ module RubyEventStore | |
| 23 22 | 
             
                end
         | 
| 24 23 |  | 
| 25 24 | 
             
                alias_method :eql?, :==
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                private_constant :BIG_VALUE
         | 
| 28 25 | 
             
              end
         | 
| 29 26 | 
             
            end
         | 
| @@ -14,16 +14,15 @@ module RubyEventStore | |
| 14 14 | 
             
                  private
         | 
| 15 15 |  | 
| 16 16 | 
             
                  def deep_transform(data, &block)
         | 
| 17 | 
            -
                    data | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
                         | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
                        end
         | 
| 17 | 
            +
                    case data
         | 
| 18 | 
            +
                    when Hash
         | 
| 19 | 
            +
                      data.each_with_object({}) do |(key, value), hash|
         | 
| 20 | 
            +
                        hash[yield(key)] = deep_transform(value, &block)
         | 
| 21 | 
            +
                      end
         | 
| 22 | 
            +
                    when Array
         | 
| 23 | 
            +
                      data.map { |i| deep_transform(i, &block) }
         | 
| 24 | 
            +
                    else
         | 
| 25 | 
            +
                      data
         | 
| 27 26 | 
             
                    end
         | 
| 28 27 | 
             
                  end
         | 
| 29 28 | 
             
                end
         | 
    
        data/lib/ruby_event_store.rb
    CHANGED
    
    | @@ -27,6 +27,7 @@ require_relative "ruby_event_store/mappers/transformation/event_class_remapper" | |
| 27 27 | 
             
            require_relative "ruby_event_store/mappers/transformation/upcast"
         | 
| 28 28 | 
             
            require_relative "ruby_event_store/mappers/transformation/stringify_metadata_keys"
         | 
| 29 29 | 
             
            require_relative "ruby_event_store/mappers/transformation/symbolize_metadata_keys"
         | 
| 30 | 
            +
            require_relative "ruby_event_store/mappers/transformation/preserve_types"
         | 
| 30 31 | 
             
            require_relative "ruby_event_store/mappers/pipeline"
         | 
| 31 32 | 
             
            require_relative "ruby_event_store/mappers/pipeline_mapper"
         | 
| 32 33 | 
             
            require_relative "ruby_event_store/mappers/default"
         | 
| @@ -44,3 +45,4 @@ require_relative "ruby_event_store/composed_dispatcher" | |
| 44 45 | 
             
            require_relative "ruby_event_store/version"
         | 
| 45 46 | 
             
            require_relative "ruby_event_store/instrumented_repository"
         | 
| 46 47 | 
             
            require_relative "ruby_event_store/instrumented_dispatcher"
         | 
| 48 | 
            +
            require_relative "ruby_event_store/instrumented_subscriptions"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ruby_event_store
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Arkency
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022- | 
| 11 | 
            +
            date: 2022-11-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: concurrent-ruby
         | 
| @@ -55,6 +55,7 @@ files: | |
| 55 55 | 
             
            - lib/ruby_event_store/in_memory_repository.rb
         | 
| 56 56 | 
             
            - lib/ruby_event_store/instrumented_dispatcher.rb
         | 
| 57 57 | 
             
            - lib/ruby_event_store/instrumented_repository.rb
         | 
| 58 | 
            +
            - lib/ruby_event_store/instrumented_subscriptions.rb
         | 
| 58 59 | 
             
            - lib/ruby_event_store/link_by_metadata.rb
         | 
| 59 60 | 
             
            - lib/ruby_event_store/mappers/default.rb
         | 
| 60 61 | 
             
            - lib/ruby_event_store/mappers/encryption_key.rb
         | 
| @@ -69,6 +70,7 @@ files: | |
| 69 70 | 
             
            - lib/ruby_event_store/mappers/transformation/domain_event.rb
         | 
| 70 71 | 
             
            - lib/ruby_event_store/mappers/transformation/encryption.rb
         | 
| 71 72 | 
             
            - lib/ruby_event_store/mappers/transformation/event_class_remapper.rb
         | 
| 73 | 
            +
            - lib/ruby_event_store/mappers/transformation/preserve_types.rb
         | 
| 72 74 | 
             
            - lib/ruby_event_store/mappers/transformation/stringify_metadata_keys.rb
         | 
| 73 75 | 
             
            - lib/ruby_event_store/mappers/transformation/symbolize_metadata_keys.rb
         | 
| 74 76 | 
             
            - lib/ruby_event_store/mappers/transformation/upcast.rb
         | 
| @@ -116,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 116 118 | 
             
                - !ruby/object:Gem::Version
         | 
| 117 119 | 
             
                  version: '0'
         | 
| 118 120 | 
             
            requirements: []
         | 
| 119 | 
            -
            rubygems_version: 3.3. | 
| 121 | 
            +
            rubygems_version: 3.3.26
         | 
| 120 122 | 
             
            signing_key:
         | 
| 121 123 | 
             
            specification_version: 4
         | 
| 122 124 | 
             
            summary: Implementation of an event store in Ruby
         |