sequent 4.1.0 → 5.0.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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sequent +2 -1
  3. data/lib/sequent/core/aggregate_repository.rb +31 -0
  4. data/lib/sequent/core/aggregate_root.rb +20 -0
  5. data/lib/sequent/core/command_record.rb +1 -1
  6. data/lib/sequent/core/event_store.rb +32 -1
  7. data/lib/sequent/core/helpers/attr_matchers/argument_serializer.rb +35 -0
  8. data/lib/sequent/core/helpers/attr_matchers/attr_matchers.rb +10 -0
  9. data/lib/sequent/core/helpers/attr_matchers/dsl.rb +23 -0
  10. data/lib/sequent/core/helpers/attr_matchers/equals.rb +24 -0
  11. data/lib/sequent/core/helpers/attr_matchers/greater_than.rb +24 -0
  12. data/lib/sequent/core/helpers/attr_matchers/greater_than_equals.rb +24 -0
  13. data/lib/sequent/core/helpers/attr_matchers/less_than.rb +24 -0
  14. data/lib/sequent/core/helpers/attr_matchers/less_than_equals.rb +24 -0
  15. data/lib/sequent/core/helpers/attr_matchers/not_equals.rb +24 -0
  16. data/lib/sequent/core/helpers/attribute_support.rb +34 -9
  17. data/lib/sequent/core/helpers/autoset_attributes.rb +5 -5
  18. data/lib/sequent/core/helpers/message_dispatcher.rb +20 -0
  19. data/lib/sequent/core/helpers/message_handler.rb +62 -8
  20. data/lib/sequent/core/helpers/message_handler_option_registry.rb +59 -0
  21. data/lib/sequent/core/helpers/message_matchers/any.rb +34 -0
  22. data/lib/sequent/core/helpers/message_matchers/argument_coercer.rb +24 -0
  23. data/lib/sequent/core/helpers/message_matchers/argument_serializer.rb +20 -0
  24. data/lib/sequent/core/helpers/message_matchers/dsl.rb +23 -0
  25. data/lib/sequent/core/helpers/message_matchers/except_opt.rb +24 -0
  26. data/lib/sequent/core/helpers/message_matchers/has_attrs.rb +54 -0
  27. data/lib/sequent/core/helpers/message_matchers/instance_of.rb +24 -0
  28. data/lib/sequent/core/helpers/message_matchers/is_a.rb +34 -0
  29. data/lib/sequent/core/helpers/message_matchers/message_matchers.rb +10 -0
  30. data/lib/sequent/core/helpers/message_router.rb +55 -0
  31. data/lib/sequent/core/projector.rb +28 -0
  32. data/lib/sequent/core/transactions/active_record_transaction_provider.rb +25 -0
  33. data/lib/sequent/core/transactions/read_only_active_record_transaction_provider.rb +46 -0
  34. data/lib/sequent/core/transactions/transactions.rb +1 -0
  35. data/lib/sequent/core/workflow.rb +30 -2
  36. data/lib/sequent/generator/project.rb +7 -0
  37. data/lib/sequent/generator/template_project/ruby-version +1 -0
  38. data/lib/sequent/test/command_handler_helpers.rb +2 -2
  39. data/lib/sequent/util/dry_run.rb +18 -13
  40. data/lib/version.rb +1 -1
  41. metadata +36 -13
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.1.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lars Vonk
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2021-12-21 00:00:00.000000000 Z
15
+ date: 2022-06-16 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activemodel
@@ -21,9 +21,9 @@ dependencies:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
23
  version: '5.0'
24
- - - "<="
24
+ - - "<"
25
25
  - !ruby/object:Gem::Version
26
- version: 6.1.4
26
+ version: '7.1'
27
27
  type: :runtime
28
28
  prerelease: false
29
29
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,9 +31,9 @@ dependencies:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '5.0'
34
- - - "<="
34
+ - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: 6.1.4
36
+ version: '7.1'
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: activerecord
39
39
  requirement: !ruby/object:Gem::Requirement
@@ -41,9 +41,9 @@ dependencies:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
43
  version: '5.0'
44
- - - "<="
44
+ - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: 6.1.4
46
+ version: '7.1'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
@@ -51,9 +51,9 @@ dependencies:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: '5.0'
54
- - - "<="
54
+ - - "<"
55
55
  - !ruby/object:Gem::Version
56
- version: 6.1.4
56
+ version: '7.1'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: bcrypt
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -119,7 +119,7 @@ dependencies:
119
119
  version: 2.6.5
120
120
  - - "<"
121
121
  - !ruby/object:Gem::Version
122
- version: '3.1'
122
+ version: '3.2'
123
123
  type: :runtime
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
@@ -129,7 +129,7 @@ dependencies:
129
129
  version: 2.6.5
130
130
  - - "<"
131
131
  - !ruby/object:Gem::Version
132
- version: '3.1'
132
+ version: '3.2'
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: pg
135
135
  requirement: !ruby/object:Gem::Requirement
@@ -333,6 +333,15 @@ files:
333
333
  - lib/sequent/core/ext/ext.rb
334
334
  - lib/sequent/core/helpers/array_with_type.rb
335
335
  - lib/sequent/core/helpers/association_validator.rb
336
+ - lib/sequent/core/helpers/attr_matchers/argument_serializer.rb
337
+ - lib/sequent/core/helpers/attr_matchers/attr_matchers.rb
338
+ - lib/sequent/core/helpers/attr_matchers/dsl.rb
339
+ - lib/sequent/core/helpers/attr_matchers/equals.rb
340
+ - lib/sequent/core/helpers/attr_matchers/greater_than.rb
341
+ - lib/sequent/core/helpers/attr_matchers/greater_than_equals.rb
342
+ - lib/sequent/core/helpers/attr_matchers/less_than.rb
343
+ - lib/sequent/core/helpers/attr_matchers/less_than_equals.rb
344
+ - lib/sequent/core/helpers/attr_matchers/not_equals.rb
336
345
  - lib/sequent/core/helpers/attribute_support.rb
337
346
  - lib/sequent/core/helpers/autoset_attributes.rb
338
347
  - lib/sequent/core/helpers/boolean_validator.rb
@@ -343,7 +352,19 @@ files:
343
352
  - lib/sequent/core/helpers/equal_support.rb
344
353
  - lib/sequent/core/helpers/helpers.rb
345
354
  - lib/sequent/core/helpers/mergable.rb
355
+ - lib/sequent/core/helpers/message_dispatcher.rb
346
356
  - lib/sequent/core/helpers/message_handler.rb
357
+ - lib/sequent/core/helpers/message_handler_option_registry.rb
358
+ - lib/sequent/core/helpers/message_matchers/any.rb
359
+ - lib/sequent/core/helpers/message_matchers/argument_coercer.rb
360
+ - lib/sequent/core/helpers/message_matchers/argument_serializer.rb
361
+ - lib/sequent/core/helpers/message_matchers/dsl.rb
362
+ - lib/sequent/core/helpers/message_matchers/except_opt.rb
363
+ - lib/sequent/core/helpers/message_matchers/has_attrs.rb
364
+ - lib/sequent/core/helpers/message_matchers/instance_of.rb
365
+ - lib/sequent/core/helpers/message_matchers/is_a.rb
366
+ - lib/sequent/core/helpers/message_matchers/message_matchers.rb
367
+ - lib/sequent/core/helpers/message_router.rb
347
368
  - lib/sequent/core/helpers/param_support.rb
348
369
  - lib/sequent/core/helpers/secret.rb
349
370
  - lib/sequent/core/helpers/string_support.rb
@@ -362,6 +383,7 @@ files:
362
383
  - lib/sequent/core/stream_record.rb
363
384
  - lib/sequent/core/transactions/active_record_transaction_provider.rb
364
385
  - lib/sequent/core/transactions/no_transactions.rb
386
+ - lib/sequent/core/transactions/read_only_active_record_transaction_provider.rb
365
387
  - lib/sequent/core/transactions/transactions.rb
366
388
  - lib/sequent/core/value_object.rb
367
389
  - lib/sequent/core/workflow.rb
@@ -393,6 +415,7 @@ files:
393
415
  - lib/sequent/generator/template_project/lib/post/post.rb
394
416
  - lib/sequent/generator/template_project/lib/post/post_command_handler.rb
395
417
  - lib/sequent/generator/template_project/my_app.rb
418
+ - lib/sequent/generator/template_project/ruby-version
396
419
  - lib/sequent/generator/template_project/spec/app/projectors/post_projector_spec.rb
397
420
  - lib/sequent/generator/template_project/spec/lib/post/post_command_handler_spec.rb
398
421
  - lib/sequent/generator/template_project/spec/spec_helper.rb
@@ -441,7 +464,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
441
464
  - !ruby/object:Gem::Version
442
465
  version: '0'
443
466
  requirements: []
444
- rubygems_version: 3.2.3
467
+ rubygems_version: 3.3.7
445
468
  signing_key:
446
469
  specification_version: 4
447
470
  summary: Event sourcing framework for Ruby