rails_simple_event_sourcing 1.0.9 → 1.0.10

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
2
  SHA256:
3
- metadata.gz: 2cdc3924ccf5cb03de4c576e06e36516187ab5743fdeacb7c4b543e1733af6ed
4
- data.tar.gz: e8a6bcce2a7b918a9a55ffd37dcf11e31c4692c53678ae083a59213fdd39e29e
3
+ metadata.gz: 363c7b48bf081711402a94d5173386ba8e1ffd509ac33c89ce7bde1a853060c9
4
+ data.tar.gz: 24d5817b59610902c2aae1a1e7b843163b0a07970c6c26cceab78ba9cb006453
5
5
  SHA512:
6
- metadata.gz: 2825950884885d9366e2586ddada26b272fc9551ba92caefe9be08c78569ad5df7243bef7b6fcf51f3e6529fc93dba1b455aacb7e7ed61b94ce9c40bd9ac0868
7
- data.tar.gz: b8b2ec4ceca8ace0ec9f51185ac373008c73a11c0aa536d650d844464822c2e4bf6aa919d797aff36807ceca23f366ebbadaf94dcd78230b0ace007d0efd33c6
6
+ metadata.gz: 1e3265492aec66a1a4fc6727e528dcc0116682c292a6cb84b40fe8498ac87c930db16fec5c00dca3294ec840834ff18cd6795baabd6ab59e58bb9e6a54e5401a
7
+ data.tar.gz: 0d4b556f0c895d4d029aedfb80ba397e78bfcf1abb050c7d10a6b9ddc1177da92658cfa0f7d7ab245583cdfdbd1af9188b61dbe2b37619895df2c11204c12b5a
@@ -9,8 +9,13 @@ module RailsSimpleEventSourcing
9
9
  belongs_to :eventable, polymorphic: true, optional: true
10
10
  alias aggregate eventable
11
11
 
12
- validates :version, presence: true, numericality: { only_integer: true, greater_than: 0 }
13
- validates :version, uniqueness: { scope: :aggregate_id }, if: -> { aggregate_id.present? }
12
+ validates :version,
13
+ presence: true,
14
+ numericality: { only_integer: true, greater_than: 0 },
15
+ if: -> { aggregate_id.present? }
16
+ validates :version,
17
+ uniqueness: { scope: :aggregate_id },
18
+ if: -> { aggregate_id.present? }
14
19
 
15
20
  before_validation :setup_for_create, on: :create
16
21
  before_save :persist_aggregate, if: :aggregate_defined?
@@ -55,12 +60,12 @@ module RailsSimpleEventSourcing
55
60
  end
56
61
 
57
62
  def set_version
63
+ return unless aggregate_defined?
64
+
58
65
  self.version ||= calculate_next_version
59
66
  end
60
67
 
61
68
  def calculate_next_version
62
- return 1 unless aggregate_id
63
-
64
69
  max_version = Event.where(aggregate_id:).maximum(:version) || 0
65
70
  max_version + 1
66
71
  end
@@ -7,7 +7,7 @@ class CreateRailsSimpleEventSourcingEvents < ActiveRecord::Migration[7.1]
7
7
  t.string :type, null: false
8
8
  t.string :event_type, null: false
9
9
  t.string :aggregate_id
10
- t.integer :version, null: false
10
+ t.integer :version
11
11
  t.jsonb :payload
12
12
  t.jsonb :metadata
13
13
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsSimpleEventSourcing
4
- VERSION = '1.0.9'
4
+ VERSION = '1.0.10'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_simple_event_sourcing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damian Baćkowski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-01 00:00:00.000000000 Z
11
+ date: 2026-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg