event_sourcery-postgres 0.7.0 → 0.8.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
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: b11be851827e587f05d9707a07efe06dbf27352bfc8692a1d8707b256868be21
         | 
| 4 | 
            +
              data.tar.gz: dd0b9f260ed14f1a5fe4a034d69cde7b8a5dff394733baca2aa4c73c8b93b018
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 252a709f64409de25299d2cfc6c3c597d8e0b196e84fc2cbdba52fd8dadd15dec5935a01a866299d00dcb063c2ab0c3afc6562ace8723bd0ad3b6a980dceaa17
         | 
| 7 | 
            +
              data.tar.gz: af2dd639f3a9563e0f5e20312deb18449270ba407474ddd787141070a7f32341dc2d7a89f8f9815ad8a71cd8b3ddfe0a9c2de727dc9cbfcb3fc299e6556ddc93
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. | |
| 5 5 | 
             
            The format is based on [Keep a Changelog](http://keepachangelog.com/)
         | 
| 6 6 | 
             
            and this project adheres to [Semantic Versioning](http://semver.org/).
         | 
| 7 7 |  | 
| 8 | 
            +
            ## [0.8.0]
         | 
| 9 | 
            +
            ###
         | 
| 10 | 
            +
            - Add a `on_events_recorded` config option, that defaults to a no-op proc, \
         | 
| 11 | 
            +
              to handle any app specific logic after the events are recoded on `EventStore#sink`
         | 
| 12 | 
            +
             | 
| 8 13 | 
             
            ## [0.7.0] - 2018-05-23
         | 
| 9 14 | 
             
            ### Added
         | 
| 10 15 | 
             
            - Add a `projector_transaction_size` config option to control how many events
         | 
| @@ -12,6 +12,11 @@ Gem::Specification.new do |spec| | |
| 12 12 |  | 
| 13 13 | 
             
              spec.summary       = 'Postgres event store for use with EventSourcery'
         | 
| 14 14 | 
             
              spec.homepage      = 'https://github.com/envato/event_sourcery-postgres'
         | 
| 15 | 
            +
              spec.metadata      = {
         | 
| 16 | 
            +
                                     'bug_tracker_uri' => 'https://github.com/envato/event_sourcery-postgres/issues',
         | 
| 17 | 
            +
                                     'changelog_uri'   => 'https://github.com/envato/event_sourcery-postgres/blob/master/CHANGELOG.md',
         | 
| 18 | 
            +
                                     'source_code_uri' => 'https://github.com/envato/event_sourcery-postgres',
         | 
| 19 | 
            +
                                   }
         | 
| 15 20 |  | 
| 16 21 | 
             
              spec.files         = `git ls-files -z`.split("\x0").reject do |f|
         | 
| 17 22 | 
             
                f.match(%r{^(\.|bin/|Gemfile|Rakefile|script/|spec/)})
         | 
| @@ -9,7 +9,8 @@ module EventSourcery | |
| 9 9 | 
             
                                :callback_interval_if_no_new_events,
         | 
| 10 10 | 
             
                                :auto_create_projector_tracker,
         | 
| 11 11 | 
             
                                :event_tracker,
         | 
| 12 | 
            -
                                :projector_transaction_size
         | 
| 12 | 
            +
                                :projector_transaction_size,
         | 
| 13 | 
            +
                                :on_events_recorded
         | 
| 13 14 |  | 
| 14 15 | 
             
                  attr_writer :event_store,
         | 
| 15 16 | 
             
                              :event_source,
         | 
| @@ -28,6 +29,7 @@ module EventSourcery | |
| 28 29 | 
             
                    @event_store_database = nil
         | 
| 29 30 | 
             
                    @auto_create_projector_tracker = true
         | 
| 30 31 | 
             
                    @projector_transaction_size = 1
         | 
| 32 | 
            +
                    @on_events_recorded = ->(events) {}
         | 
| 31 33 | 
             
                  end
         | 
| 32 34 |  | 
| 33 35 | 
             
                  def event_store
         | 
| @@ -7,12 +7,14 @@ module EventSourcery | |
| 7 7 | 
             
                                 events_table_name: EventSourcery::Postgres.config.events_table_name,
         | 
| 8 8 | 
             
                                 lock_table: EventSourcery::Postgres.config.lock_table_to_guarantee_linear_sequence_id_growth,
         | 
| 9 9 | 
             
                                 write_events_function_name: EventSourcery::Postgres.config.write_events_function_name,
         | 
| 10 | 
            -
                                 event_builder: EventSourcery.config.event_builder | 
| 10 | 
            +
                                 event_builder: EventSourcery.config.event_builder,
         | 
| 11 | 
            +
                                 on_events_recorded: EventSourcery::Postgres.config.on_events_recorded)
         | 
| 11 12 | 
             
                    @db_connection = db_connection
         | 
| 12 13 | 
             
                    @events_table_name = events_table_name
         | 
| 13 14 | 
             
                    @write_events_function_name = write_events_function_name
         | 
| 14 15 | 
             
                    @lock_table = lock_table
         | 
| 15 16 | 
             
                    @event_builder = event_builder
         | 
| 17 | 
            +
                    @on_events_recorded = on_events_recorded
         | 
| 16 18 | 
             
                  end
         | 
| 17 19 |  | 
| 18 20 | 
             
                  # Like water flowing into a sink eventually it will go down the drain
         | 
| @@ -33,6 +35,7 @@ module EventSourcery | |
| 33 35 | 
             
                    sql = write_events_sql(aggregate_ids.first, events, expected_version)
         | 
| 34 36 | 
             
                    @db_connection.run(sql)
         | 
| 35 37 | 
             
                    log_events_saved(events)
         | 
| 38 | 
            +
                    on_events_recorded.call(events)
         | 
| 36 39 | 
             
                    true
         | 
| 37 40 | 
             
                  rescue Sequel::DatabaseError => e
         | 
| 38 41 | 
             
                    if e.message =~ /Concurrency conflict/
         | 
| @@ -109,6 +112,8 @@ module EventSourcery | |
| 109 112 |  | 
| 110 113 | 
             
                  private
         | 
| 111 114 |  | 
| 115 | 
            +
                  attr_reader :on_events_recorded
         | 
| 116 | 
            +
             | 
| 112 117 | 
             
                  def events_table
         | 
| 113 118 | 
             
                    @db_connection[@events_table_name]
         | 
| 114 119 | 
             
                  end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: event_sourcery-postgres
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.8.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Envato
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2018- | 
| 11 | 
            +
            date: 2018-08-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: sequel
         | 
| @@ -147,7 +147,10 @@ files: | |
| 147 147 | 
             
            - lib/event_sourcery/postgres/version.rb
         | 
| 148 148 | 
             
            homepage: https://github.com/envato/event_sourcery-postgres
         | 
| 149 149 | 
             
            licenses: []
         | 
| 150 | 
            -
            metadata: | 
| 150 | 
            +
            metadata:
         | 
| 151 | 
            +
              bug_tracker_uri: https://github.com/envato/event_sourcery-postgres/issues
         | 
| 152 | 
            +
              changelog_uri: https://github.com/envato/event_sourcery-postgres/blob/master/CHANGELOG.md
         | 
| 153 | 
            +
              source_code_uri: https://github.com/envato/event_sourcery-postgres
         | 
| 151 154 | 
             
            post_install_message: 
         | 
| 152 155 | 
             
            rdoc_options: []
         | 
| 153 156 | 
             
            require_paths:
         | 
| @@ -164,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 164 167 | 
             
                  version: '0'
         | 
| 165 168 | 
             
            requirements: []
         | 
| 166 169 | 
             
            rubyforge_project: 
         | 
| 167 | 
            -
            rubygems_version: 2. | 
| 170 | 
            +
            rubygems_version: 2.7.6
         | 
| 168 171 | 
             
            signing_key: 
         | 
| 169 172 | 
             
            specification_version: 4
         | 
| 170 173 | 
             
            summary: Postgres event store for use with EventSourcery
         |