sequent 4.0.0 → 4.3.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/bin/sequent +33 -26
- data/lib/notices.rb +2 -0
- data/lib/sequent/application_record.rb +2 -0
- data/lib/sequent/configuration.rb +24 -31
- data/lib/sequent/core/aggregate_repository.rb +48 -13
- data/lib/sequent/core/aggregate_root.rb +36 -7
- data/lib/sequent/core/aggregate_roots.rb +24 -0
- data/lib/sequent/core/aggregate_snapshotter.rb +8 -5
- data/lib/sequent/core/base_command_handler.rb +4 -2
- data/lib/sequent/core/command.rb +17 -9
- data/lib/sequent/core/command_record.rb +8 -3
- data/lib/sequent/core/command_service.rb +18 -18
- data/lib/sequent/core/core.rb +2 -0
- data/lib/sequent/core/current_event.rb +2 -0
- data/lib/sequent/core/event.rb +16 -11
- data/lib/sequent/core/event_publisher.rb +16 -15
- data/lib/sequent/core/event_record.rb +7 -7
- data/lib/sequent/core/event_store.rb +89 -51
- data/lib/sequent/core/ext/ext.rb +9 -1
- data/lib/sequent/core/helpers/array_with_type.rb +4 -1
- data/lib/sequent/core/helpers/association_validator.rb +9 -7
- data/lib/sequent/core/helpers/attribute_support.rb +45 -28
- data/lib/sequent/core/helpers/autoset_attributes.rb +4 -4
- data/lib/sequent/core/helpers/boolean_validator.rb +6 -1
- data/lib/sequent/core/helpers/copyable.rb +2 -2
- data/lib/sequent/core/helpers/date_time_validator.rb +4 -1
- data/lib/sequent/core/helpers/date_validator.rb +6 -1
- data/lib/sequent/core/helpers/default_validators.rb +12 -10
- data/lib/sequent/core/helpers/equal_support.rb +8 -6
- data/lib/sequent/core/helpers/helpers.rb +2 -0
- data/lib/sequent/core/helpers/mergable.rb +6 -5
- data/lib/sequent/core/helpers/message_handler.rb +3 -1
- data/lib/sequent/core/helpers/param_support.rb +19 -15
- data/lib/sequent/core/helpers/secret.rb +14 -12
- data/lib/sequent/core/helpers/string_support.rb +5 -4
- data/lib/sequent/core/helpers/string_to_value_parsers.rb +7 -2
- data/lib/sequent/core/helpers/string_validator.rb +6 -1
- data/lib/sequent/core/helpers/type_conversion_support.rb +5 -3
- data/lib/sequent/core/helpers/uuid_helper.rb +5 -2
- data/lib/sequent/core/helpers/value_validators.rb +23 -9
- data/lib/sequent/core/persistors/active_record_persistor.rb +19 -9
- data/lib/sequent/core/persistors/persistor.rb +16 -14
- data/lib/sequent/core/persistors/persistors.rb +2 -0
- data/lib/sequent/core/persistors/replay_optimized_postgres_persistor.rb +70 -47
- data/lib/sequent/core/projector.rb +53 -22
- data/lib/sequent/core/random_uuid_generator.rb +2 -0
- data/lib/sequent/core/sequent_oj.rb +2 -0
- data/lib/sequent/core/stream_record.rb +9 -3
- data/lib/sequent/core/transactions/active_record_transaction_provider.rb +30 -9
- data/lib/sequent/core/transactions/no_transactions.rb +2 -1
- data/lib/sequent/core/transactions/read_only_active_record_transaction_provider.rb +46 -0
- data/lib/sequent/core/transactions/transactions.rb +3 -0
- data/lib/sequent/core/value_object.rb +8 -10
- data/lib/sequent/core/workflow.rb +35 -5
- data/lib/sequent/generator/aggregate.rb +16 -10
- data/lib/sequent/generator/command.rb +26 -19
- data/lib/sequent/generator/event.rb +19 -17
- data/lib/sequent/generator/generator.rb +2 -0
- data/lib/sequent/generator/project.rb +9 -0
- data/lib/sequent/generator/template_project/Gemfile +1 -1
- data/lib/sequent/generator/template_project/ruby-version +1 -0
- data/lib/sequent/generator.rb +2 -0
- data/lib/sequent/migrations/executor.rb +22 -13
- data/lib/sequent/migrations/functions.rb +5 -6
- data/lib/sequent/migrations/migrate_events.rb +12 -9
- data/lib/sequent/migrations/migrations.rb +2 -1
- data/lib/sequent/migrations/planner.rb +33 -23
- data/lib/sequent/migrations/projectors.rb +4 -3
- data/lib/sequent/migrations/sql.rb +2 -0
- data/lib/sequent/migrations/view_schema.rb +84 -45
- data/lib/sequent/rake/migration_tasks.rb +58 -22
- data/lib/sequent/rake/tasks.rb +5 -2
- data/lib/sequent/sequent.rb +2 -0
- data/lib/sequent/support/database.rb +30 -15
- data/lib/sequent/support/view_projection.rb +6 -3
- data/lib/sequent/support/view_schema.rb +2 -0
- data/lib/sequent/support.rb +2 -0
- data/lib/sequent/test/command_handler_helpers.rb +35 -17
- data/lib/sequent/test/event_handler_helpers.rb +10 -4
- data/lib/sequent/test/event_stream_helpers.rb +7 -3
- data/lib/sequent/test/time_comparison.rb +12 -5
- data/lib/sequent/test.rb +2 -0
- data/lib/sequent/util/dry_run.rb +28 -20
- data/lib/sequent/util/printer.rb +6 -5
- data/lib/sequent/util/skip_if_already_processing.rb +3 -1
- data/lib/sequent/util/timer.rb +2 -0
- data/lib/sequent/util/util.rb +2 -0
- data/lib/sequent.rb +2 -0
- data/lib/version.rb +3 -1
- metadata +84 -67
data/lib/sequent/util/dry_run.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require_relative '../test/command_handler_helpers'
|
|
2
4
|
|
|
3
5
|
module Sequent
|
|
@@ -33,19 +35,19 @@ module Sequent
|
|
|
33
35
|
attr_reader :command_with_events, :event_store
|
|
34
36
|
|
|
35
37
|
delegate :load_events_for_aggregates,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
:load_events,
|
|
39
|
+
:stream_exists?,
|
|
40
|
+
:events_exists?,
|
|
41
|
+
to: :event_store
|
|
40
42
|
|
|
41
|
-
def initialize(result)
|
|
42
|
-
@event_store =
|
|
43
|
+
def initialize(result, event_store)
|
|
44
|
+
@event_store = event_store
|
|
43
45
|
@command_with_events = {}
|
|
44
46
|
@result = result
|
|
45
47
|
end
|
|
46
48
|
|
|
47
49
|
def commit_events(command, streams_with_events)
|
|
48
|
-
|
|
50
|
+
Sequent.configuration.event_publisher.publish_events(streams_with_events.flat_map { |_, events| events })
|
|
49
51
|
|
|
50
52
|
new_events = streams_with_events.flat_map { |_, events| events }
|
|
51
53
|
@result.published_command_with_events(command, new_events)
|
|
@@ -59,22 +61,23 @@ module Sequent
|
|
|
59
61
|
attr_reader :projectors, :workflows
|
|
60
62
|
|
|
61
63
|
def initialize(result)
|
|
64
|
+
super()
|
|
62
65
|
@result = result
|
|
63
66
|
end
|
|
64
67
|
|
|
65
68
|
def process_event(event)
|
|
66
|
-
Sequent.
|
|
67
|
-
next unless
|
|
69
|
+
[*Sequent::Core::Workflows.all, *Sequent::Core::Projectors.all].each do |handler_class|
|
|
70
|
+
next unless handler_class.handles_message?(event)
|
|
68
71
|
|
|
69
|
-
if
|
|
70
|
-
@result.invoked_workflow(EventInvokedHandler.new(event,
|
|
71
|
-
elsif
|
|
72
|
-
@result.invoked_projector(EventInvokedHandler.new(event,
|
|
72
|
+
if handler_class < Sequent::Workflow
|
|
73
|
+
@result.invoked_workflow(EventInvokedHandler.new(event, handler_class))
|
|
74
|
+
elsif handler_class < Sequent::Projector
|
|
75
|
+
@result.invoked_projector(EventInvokedHandler.new(event, handler_class))
|
|
73
76
|
else
|
|
74
|
-
fail "Unrecognized event_handler #{
|
|
77
|
+
fail "Unrecognized event_handler #{handler_class} called for event #{event.class}"
|
|
75
78
|
end
|
|
76
|
-
rescue
|
|
77
|
-
raise PublishEventError.new(
|
|
79
|
+
rescue StandardError
|
|
80
|
+
raise PublishEventError.new(handler_class, event)
|
|
78
81
|
end
|
|
79
82
|
end
|
|
80
83
|
end
|
|
@@ -141,16 +144,16 @@ module Sequent
|
|
|
141
144
|
#
|
|
142
145
|
def print(io)
|
|
143
146
|
tree.each_with_index do |(command, event_called_handlerss), index|
|
|
144
|
-
io.puts
|
|
147
|
+
io.puts '+++++++++++++++++++++++++++++++++++' if index == 0
|
|
145
148
|
io.puts "Command: #{command.class} resulted in #{event_called_handlerss.length} events"
|
|
146
149
|
event_called_handlerss.each_with_index do |event_called_handlers, i|
|
|
147
|
-
io.puts
|
|
150
|
+
io.puts '' if i > 0
|
|
148
151
|
io.puts "-- Event #{event_called_handlers.event.class} was handled by:"
|
|
149
152
|
io.puts "-- Projectors: [#{event_called_handlers.projectors.join(', ')}]"
|
|
150
153
|
io.puts "-- Workflows: [#{event_called_handlers.workflows.join(', ')}]"
|
|
151
154
|
end
|
|
152
155
|
|
|
153
|
-
io.puts
|
|
156
|
+
io.puts '+++++++++++++++++++++++++++++++++++'
|
|
154
157
|
end
|
|
155
158
|
end
|
|
156
159
|
|
|
@@ -174,10 +177,14 @@ module Sequent
|
|
|
174
177
|
def self.these_commands(commands)
|
|
175
178
|
current_event_store = Sequent.configuration.event_store
|
|
176
179
|
current_event_publisher = Sequent.configuration.event_publisher
|
|
180
|
+
current_transaction_provider = Sequent.configuration.transaction_provider
|
|
181
|
+
|
|
177
182
|
result = Result.new
|
|
178
183
|
|
|
179
|
-
Sequent.configuration.event_store = EventStoreProxy.new(result)
|
|
184
|
+
Sequent.configuration.event_store = EventStoreProxy.new(result, current_event_store)
|
|
180
185
|
Sequent.configuration.event_publisher = RecordingEventPublisher.new(result)
|
|
186
|
+
Sequent.configuration.transaction_provider =
|
|
187
|
+
Sequent::Core::Transactions::ReadOnlyActiveRecordTransactionProvider.new(current_transaction_provider)
|
|
181
188
|
|
|
182
189
|
Sequent.command_service.execute_commands(*commands)
|
|
183
190
|
|
|
@@ -185,6 +192,7 @@ module Sequent
|
|
|
185
192
|
ensure
|
|
186
193
|
Sequent.configuration.event_store = current_event_store
|
|
187
194
|
Sequent.configuration.event_publisher = current_event_publisher
|
|
195
|
+
Sequent.configuration.transaction_provider = current_transaction_provider
|
|
188
196
|
end
|
|
189
197
|
end
|
|
190
198
|
end
|
data/lib/sequent/util/printer.rb
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Sequent
|
|
2
4
|
module Util
|
|
3
5
|
module Printer
|
|
4
6
|
def recursively_print(e)
|
|
5
|
-
logger.error "#{e
|
|
7
|
+
logger.error "#{e}\n\n#{e.backtrace.join("\n")}"
|
|
6
8
|
|
|
7
|
-
while e.cause
|
|
8
|
-
logger.error
|
|
9
|
-
logger.error "#{e.cause
|
|
9
|
+
while e.cause
|
|
10
|
+
logger.error '+++++++++++++++ CAUSE +++++++++++++++'
|
|
11
|
+
logger.error "#{e.cause}\n\n#{e.cause.backtrace.join("\n")}"
|
|
10
12
|
e = e.cause
|
|
11
13
|
end
|
|
12
14
|
end
|
|
13
15
|
end
|
|
14
16
|
end
|
|
15
17
|
end
|
|
16
|
-
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Sequent
|
|
2
4
|
module Util
|
|
3
5
|
##
|
|
@@ -6,7 +8,7 @@ module Sequent
|
|
|
6
8
|
# it yields the given +&block+.
|
|
7
9
|
#
|
|
8
10
|
# Useful in a Queue and Processing strategy
|
|
9
|
-
def self.skip_if_already_processing(processing_key
|
|
11
|
+
def self.skip_if_already_processing(processing_key)
|
|
10
12
|
return if Thread.current[processing_key]
|
|
11
13
|
|
|
12
14
|
begin
|
data/lib/sequent/util/timer.rb
CHANGED
data/lib/sequent/util/util.rb
CHANGED
data/lib/sequent.rb
CHANGED
data/lib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sequent
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lars Vonk
|
|
@@ -12,18 +12,18 @@ authors:
|
|
|
12
12
|
autorequire:
|
|
13
13
|
bindir: bin
|
|
14
14
|
cert_chain: []
|
|
15
|
-
date:
|
|
15
|
+
date: 2022-03-21 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
|
-
name:
|
|
18
|
+
name: activemodel
|
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
|
20
20
|
requirements:
|
|
21
21
|
- - ">="
|
|
22
22
|
- !ruby/object:Gem::Version
|
|
23
23
|
version: '5.0'
|
|
24
|
-
- - "
|
|
24
|
+
- - "<="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 7.0.2
|
|
27
27
|
type: :runtime
|
|
28
28
|
prerelease: false
|
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -31,19 +31,19 @@ dependencies:
|
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: '5.0'
|
|
34
|
-
- - "
|
|
34
|
+
- - "<="
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
|
-
version:
|
|
36
|
+
version: 7.0.2
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
|
-
name:
|
|
38
|
+
name: activerecord
|
|
39
39
|
requirement: !ruby/object:Gem::Requirement
|
|
40
40
|
requirements:
|
|
41
41
|
- - ">="
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
43
|
version: '5.0'
|
|
44
|
-
- - "
|
|
44
|
+
- - "<="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version:
|
|
46
|
+
version: 7.0.2
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -51,37 +51,37 @@ dependencies:
|
|
|
51
51
|
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
53
|
version: '5.0'
|
|
54
|
-
- - "
|
|
54
|
+
- - "<="
|
|
55
55
|
- !ruby/object:Gem::Version
|
|
56
|
-
version:
|
|
56
|
+
version: 7.0.2
|
|
57
57
|
- !ruby/object:Gem::Dependency
|
|
58
|
-
name:
|
|
58
|
+
name: bcrypt
|
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
|
60
60
|
requirements:
|
|
61
61
|
- - "~>"
|
|
62
62
|
- !ruby/object:Gem::Version
|
|
63
|
-
version: '1
|
|
63
|
+
version: '3.1'
|
|
64
64
|
type: :runtime
|
|
65
65
|
prerelease: false
|
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
|
67
67
|
requirements:
|
|
68
68
|
- - "~>"
|
|
69
69
|
- !ruby/object:Gem::Version
|
|
70
|
-
version: '1
|
|
70
|
+
version: '3.1'
|
|
71
71
|
- !ruby/object:Gem::Dependency
|
|
72
|
-
name:
|
|
72
|
+
name: i18n
|
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
|
74
74
|
requirements:
|
|
75
|
-
- - "
|
|
75
|
+
- - ">="
|
|
76
76
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0
|
|
77
|
+
version: '0'
|
|
78
78
|
type: :runtime
|
|
79
79
|
prerelease: false
|
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
|
81
81
|
requirements:
|
|
82
|
-
- - "
|
|
82
|
+
- - ">="
|
|
83
83
|
- !ruby/object:Gem::Version
|
|
84
|
-
version: '0
|
|
84
|
+
version: '0'
|
|
85
85
|
- !ruby/object:Gem::Dependency
|
|
86
86
|
name: oj
|
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -97,125 +97,125 @@ dependencies:
|
|
|
97
97
|
- !ruby/object:Gem::Version
|
|
98
98
|
version: '3'
|
|
99
99
|
- !ruby/object:Gem::Dependency
|
|
100
|
-
name:
|
|
100
|
+
name: parallel
|
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
|
102
102
|
requirements:
|
|
103
103
|
- - "~>"
|
|
104
104
|
- !ruby/object:Gem::Version
|
|
105
|
-
version:
|
|
105
|
+
version: '1.20'
|
|
106
106
|
type: :runtime
|
|
107
107
|
prerelease: false
|
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
|
109
109
|
requirements:
|
|
110
110
|
- - "~>"
|
|
111
111
|
- !ruby/object:Gem::Version
|
|
112
|
-
version:
|
|
112
|
+
version: '1.20'
|
|
113
113
|
- !ruby/object:Gem::Dependency
|
|
114
|
-
name:
|
|
114
|
+
name: parser
|
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
|
116
116
|
requirements:
|
|
117
|
-
- - "
|
|
117
|
+
- - ">="
|
|
118
118
|
- !ruby/object:Gem::Version
|
|
119
|
-
version:
|
|
119
|
+
version: 2.6.5
|
|
120
|
+
- - "<"
|
|
121
|
+
- !ruby/object:Gem::Version
|
|
122
|
+
version: '3.2'
|
|
120
123
|
type: :runtime
|
|
121
124
|
prerelease: false
|
|
122
125
|
version_requirements: !ruby/object:Gem::Requirement
|
|
123
126
|
requirements:
|
|
124
|
-
- - "
|
|
127
|
+
- - ">="
|
|
125
128
|
- !ruby/object:Gem::Version
|
|
126
|
-
version:
|
|
129
|
+
version: 2.6.5
|
|
130
|
+
- - "<"
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
version: '3.2'
|
|
127
133
|
- !ruby/object:Gem::Dependency
|
|
128
|
-
name:
|
|
134
|
+
name: pg
|
|
129
135
|
requirement: !ruby/object:Gem::Requirement
|
|
130
136
|
requirements:
|
|
131
137
|
- - "~>"
|
|
132
138
|
- !ruby/object:Gem::Version
|
|
133
|
-
version: '
|
|
139
|
+
version: '1.2'
|
|
134
140
|
type: :runtime
|
|
135
141
|
prerelease: false
|
|
136
142
|
version_requirements: !ruby/object:Gem::Requirement
|
|
137
143
|
requirements:
|
|
138
144
|
- - "~>"
|
|
139
145
|
- !ruby/object:Gem::Version
|
|
140
|
-
version: '
|
|
146
|
+
version: '1.2'
|
|
141
147
|
- !ruby/object:Gem::Dependency
|
|
142
|
-
name:
|
|
148
|
+
name: postgresql_cursor
|
|
143
149
|
requirement: !ruby/object:Gem::Requirement
|
|
144
150
|
requirements:
|
|
145
|
-
- - "
|
|
146
|
-
- !ruby/object:Gem::Version
|
|
147
|
-
version: 2.6.5
|
|
148
|
-
- - "<="
|
|
151
|
+
- - "~>"
|
|
149
152
|
- !ruby/object:Gem::Version
|
|
150
|
-
version: '
|
|
153
|
+
version: '0.6'
|
|
151
154
|
type: :runtime
|
|
152
155
|
prerelease: false
|
|
153
156
|
version_requirements: !ruby/object:Gem::Requirement
|
|
154
157
|
requirements:
|
|
155
|
-
- - "
|
|
156
|
-
- !ruby/object:Gem::Version
|
|
157
|
-
version: 2.6.5
|
|
158
|
-
- - "<="
|
|
158
|
+
- - "~>"
|
|
159
159
|
- !ruby/object:Gem::Version
|
|
160
|
-
version: '
|
|
160
|
+
version: '0.6'
|
|
161
161
|
- !ruby/object:Gem::Dependency
|
|
162
|
-
name:
|
|
162
|
+
name: thread_safe
|
|
163
163
|
requirement: !ruby/object:Gem::Requirement
|
|
164
164
|
requirements:
|
|
165
|
-
- - "
|
|
165
|
+
- - "~>"
|
|
166
166
|
- !ruby/object:Gem::Version
|
|
167
|
-
version:
|
|
167
|
+
version: 0.3.6
|
|
168
168
|
type: :runtime
|
|
169
169
|
prerelease: false
|
|
170
170
|
version_requirements: !ruby/object:Gem::Requirement
|
|
171
171
|
requirements:
|
|
172
|
-
- - "
|
|
172
|
+
- - "~>"
|
|
173
173
|
- !ruby/object:Gem::Version
|
|
174
|
-
version:
|
|
174
|
+
version: 0.3.6
|
|
175
175
|
- !ruby/object:Gem::Dependency
|
|
176
176
|
name: tzinfo
|
|
177
177
|
requirement: !ruby/object:Gem::Requirement
|
|
178
178
|
requirements:
|
|
179
|
-
- - "
|
|
179
|
+
- - "~>"
|
|
180
180
|
- !ruby/object:Gem::Version
|
|
181
|
-
version:
|
|
181
|
+
version: '2.0'
|
|
182
182
|
type: :runtime
|
|
183
183
|
prerelease: false
|
|
184
184
|
version_requirements: !ruby/object:Gem::Requirement
|
|
185
185
|
requirements:
|
|
186
|
-
- - "
|
|
186
|
+
- - "~>"
|
|
187
187
|
- !ruby/object:Gem::Version
|
|
188
|
-
version:
|
|
188
|
+
version: '2.0'
|
|
189
189
|
- !ruby/object:Gem::Dependency
|
|
190
|
-
name:
|
|
190
|
+
name: pry
|
|
191
191
|
requirement: !ruby/object:Gem::Requirement
|
|
192
192
|
requirements:
|
|
193
193
|
- - "~>"
|
|
194
194
|
- !ruby/object:Gem::Version
|
|
195
|
-
version: '
|
|
195
|
+
version: '0.13'
|
|
196
196
|
type: :development
|
|
197
197
|
prerelease: false
|
|
198
198
|
version_requirements: !ruby/object:Gem::Requirement
|
|
199
199
|
requirements:
|
|
200
200
|
- - "~>"
|
|
201
201
|
- !ruby/object:Gem::Version
|
|
202
|
-
version: '
|
|
202
|
+
version: '0.13'
|
|
203
203
|
- !ruby/object:Gem::Dependency
|
|
204
|
-
name:
|
|
204
|
+
name: rake
|
|
205
205
|
requirement: !ruby/object:Gem::Requirement
|
|
206
206
|
requirements:
|
|
207
207
|
- - "~>"
|
|
208
208
|
- !ruby/object:Gem::Version
|
|
209
|
-
version: '
|
|
209
|
+
version: '13'
|
|
210
210
|
type: :development
|
|
211
211
|
prerelease: false
|
|
212
212
|
version_requirements: !ruby/object:Gem::Requirement
|
|
213
213
|
requirements:
|
|
214
214
|
- - "~>"
|
|
215
215
|
- !ruby/object:Gem::Version
|
|
216
|
-
version: '
|
|
216
|
+
version: '13'
|
|
217
217
|
- !ruby/object:Gem::Dependency
|
|
218
|
-
name: rspec
|
|
218
|
+
name: rspec
|
|
219
219
|
requirement: !ruby/object:Gem::Requirement
|
|
220
220
|
requirements:
|
|
221
221
|
- - "~>"
|
|
@@ -243,33 +243,33 @@ dependencies:
|
|
|
243
243
|
- !ruby/object:Gem::Version
|
|
244
244
|
version: '1.2'
|
|
245
245
|
- !ruby/object:Gem::Dependency
|
|
246
|
-
name:
|
|
246
|
+
name: rspec-mocks
|
|
247
247
|
requirement: !ruby/object:Gem::Requirement
|
|
248
248
|
requirements:
|
|
249
249
|
- - "~>"
|
|
250
250
|
- !ruby/object:Gem::Version
|
|
251
|
-
version: '
|
|
251
|
+
version: '3.10'
|
|
252
252
|
type: :development
|
|
253
253
|
prerelease: false
|
|
254
254
|
version_requirements: !ruby/object:Gem::Requirement
|
|
255
255
|
requirements:
|
|
256
256
|
- - "~>"
|
|
257
257
|
- !ruby/object:Gem::Version
|
|
258
|
-
version: '
|
|
258
|
+
version: '3.10'
|
|
259
259
|
- !ruby/object:Gem::Dependency
|
|
260
|
-
name:
|
|
260
|
+
name: rubocop
|
|
261
261
|
requirement: !ruby/object:Gem::Requirement
|
|
262
262
|
requirements:
|
|
263
|
-
- - "
|
|
263
|
+
- - "<"
|
|
264
264
|
- !ruby/object:Gem::Version
|
|
265
|
-
version: '
|
|
265
|
+
version: '1.21'
|
|
266
266
|
type: :development
|
|
267
267
|
prerelease: false
|
|
268
268
|
version_requirements: !ruby/object:Gem::Requirement
|
|
269
269
|
requirements:
|
|
270
|
-
- - "
|
|
270
|
+
- - "<"
|
|
271
271
|
- !ruby/object:Gem::Version
|
|
272
|
-
version: '
|
|
272
|
+
version: '1.21'
|
|
273
273
|
- !ruby/object:Gem::Dependency
|
|
274
274
|
name: simplecov
|
|
275
275
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -284,6 +284,20 @@ dependencies:
|
|
|
284
284
|
- - "~>"
|
|
285
285
|
- !ruby/object:Gem::Version
|
|
286
286
|
version: '0.21'
|
|
287
|
+
- !ruby/object:Gem::Dependency
|
|
288
|
+
name: timecop
|
|
289
|
+
requirement: !ruby/object:Gem::Requirement
|
|
290
|
+
requirements:
|
|
291
|
+
- - "~>"
|
|
292
|
+
- !ruby/object:Gem::Version
|
|
293
|
+
version: '0.9'
|
|
294
|
+
type: :development
|
|
295
|
+
prerelease: false
|
|
296
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
297
|
+
requirements:
|
|
298
|
+
- - "~>"
|
|
299
|
+
- !ruby/object:Gem::Version
|
|
300
|
+
version: '0.9'
|
|
287
301
|
description: Sequent is a CQRS and event sourcing framework for Ruby.
|
|
288
302
|
email:
|
|
289
303
|
- lars.vonk@gmail.com
|
|
@@ -304,6 +318,7 @@ files:
|
|
|
304
318
|
- lib/sequent/configuration.rb
|
|
305
319
|
- lib/sequent/core/aggregate_repository.rb
|
|
306
320
|
- lib/sequent/core/aggregate_root.rb
|
|
321
|
+
- lib/sequent/core/aggregate_roots.rb
|
|
307
322
|
- lib/sequent/core/aggregate_snapshotter.rb
|
|
308
323
|
- lib/sequent/core/base_command_handler.rb
|
|
309
324
|
- lib/sequent/core/command.rb
|
|
@@ -347,6 +362,7 @@ files:
|
|
|
347
362
|
- lib/sequent/core/stream_record.rb
|
|
348
363
|
- lib/sequent/core/transactions/active_record_transaction_provider.rb
|
|
349
364
|
- lib/sequent/core/transactions/no_transactions.rb
|
|
365
|
+
- lib/sequent/core/transactions/read_only_active_record_transaction_provider.rb
|
|
350
366
|
- lib/sequent/core/transactions/transactions.rb
|
|
351
367
|
- lib/sequent/core/value_object.rb
|
|
352
368
|
- lib/sequent/core/workflow.rb
|
|
@@ -378,6 +394,7 @@ files:
|
|
|
378
394
|
- lib/sequent/generator/template_project/lib/post/post.rb
|
|
379
395
|
- lib/sequent/generator/template_project/lib/post/post_command_handler.rb
|
|
380
396
|
- lib/sequent/generator/template_project/my_app.rb
|
|
397
|
+
- lib/sequent/generator/template_project/ruby-version
|
|
381
398
|
- lib/sequent/generator/template_project/spec/app/projectors/post_projector_spec.rb
|
|
382
399
|
- lib/sequent/generator/template_project/spec/lib/post/post_command_handler_spec.rb
|
|
383
400
|
- lib/sequent/generator/template_project/spec/spec_helper.rb
|
|
@@ -426,7 +443,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
426
443
|
- !ruby/object:Gem::Version
|
|
427
444
|
version: '0'
|
|
428
445
|
requirements: []
|
|
429
|
-
rubygems_version: 3.
|
|
446
|
+
rubygems_version: 3.3.7
|
|
430
447
|
signing_key:
|
|
431
448
|
specification_version: 4
|
|
432
449
|
summary: Event sourcing framework for Ruby
|