aggregate_root 0.27.1 → 0.28.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 +5 -5
- data/Makefile +7 -1
- data/aggregate_root.gemspec +8 -4
- data/lib/aggregate_root.rb +3 -2
- data/lib/aggregate_root/default_apply_strategy.rb +12 -3
- data/lib/aggregate_root/version.rb +1 -1
- metadata +11 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a5483be1de781b8175aa34881f7ebb93bca381f4b5141bd52247cc03f65568d2
|
4
|
+
data.tar.gz: 131a16a9fba376f9f2792e93087bad4bc5f9b7adc72e0ec335ec7c122e03f588
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7510dfefc73f430b51a67caabfa94c1c51470ddfa780012a8c3631a4f8deb215d7a20dbd8afb5018f569a0833d79656776c21a91034e1a355c6b5b599248cfb
|
7
|
+
data.tar.gz: 39133f830f7fad7b0f939c1d615dfcd327b99bccb4dec2c6fff57e1199384fef0ecef01c88c9730be4309d41094b7956b0183cc453dfdbc0a4f771597acb906f
|
data/Makefile
CHANGED
@@ -8,6 +8,12 @@ install: ## Install gem dependencies
|
|
8
8
|
@echo "Installing gem dependencies"
|
9
9
|
@bundle install
|
10
10
|
|
11
|
+
remove-lock:
|
12
|
+
@echo "Removing resolved dependency versions"
|
13
|
+
-rm Gemfile.lock
|
14
|
+
|
15
|
+
reinstall: remove-lock install ## Removing resolved dependency versions
|
16
|
+
|
11
17
|
test: ## Run unit tests
|
12
18
|
@echo "Running unit tests"
|
13
19
|
@bundle exec rspec
|
@@ -27,7 +33,7 @@ build:
|
|
27
33
|
|
28
34
|
push:
|
29
35
|
@echo "Pushing package to RubyGems"
|
30
|
-
@gem push pkg/$(GEM_NAME)-$(GEM_VERSION).gem
|
36
|
+
@gem push -k dev_arkency pkg/$(GEM_NAME)-$(GEM_VERSION).gem
|
31
37
|
|
32
38
|
clean:
|
33
39
|
@echo "Removing previously built package"
|
data/aggregate_root.gemspec
CHANGED
@@ -12,7 +12,13 @@ Gem::Specification.new do |spec|
|
|
12
12
|
|
13
13
|
spec.summary = %q{Event sourced (with Rails Event Store) aggregate root implementation}
|
14
14
|
spec.description = %q{Event sourced (with Rails Event Store) aggregate root implementation}
|
15
|
-
spec.homepage = ''
|
15
|
+
spec.homepage = 'https://railseventstore.org'
|
16
|
+
spec.metadata = {
|
17
|
+
"homepage_uri" => "https://railseventstore.org/",
|
18
|
+
"changelog_uri" => "https://github.com/RailsEventStore/rails_event_store/releases",
|
19
|
+
"source_code_uri" => "https://github.com/RailsEventStore/rails_event_store",
|
20
|
+
"bug_tracker_uri" => "https://github.com/RailsEventStore/rails_event_store/issues",
|
21
|
+
}
|
16
22
|
|
17
23
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
24
|
spec.bindir = 'exe'
|
@@ -22,8 +28,6 @@ Gem::Specification.new do |spec|
|
|
22
28
|
spec.add_development_dependency 'bundler', '~> 1.15'
|
23
29
|
spec.add_development_dependency 'rake', '~> 10.0'
|
24
30
|
spec.add_development_dependency 'rspec', '~> 3.6'
|
25
|
-
spec.add_development_dependency 'ruby_event_store', '= 0.
|
31
|
+
spec.add_development_dependency 'ruby_event_store', '= 0.28.0'
|
26
32
|
spec.add_development_dependency 'mutant-rspec', '~> 0.8.14'
|
27
|
-
|
28
|
-
spec.add_dependency 'activesupport', '>= 3.0'
|
29
33
|
end
|
data/lib/aggregate_root.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'active_support/inflector'
|
2
1
|
require 'aggregate_root/version'
|
3
2
|
require 'aggregate_root/configuration'
|
4
3
|
require 'aggregate_root/default_apply_strategy'
|
@@ -46,7 +45,7 @@ module AggregateRoot
|
|
46
45
|
self
|
47
46
|
end
|
48
47
|
|
49
|
-
def store(stream_name =
|
48
|
+
def store(stream_name = loaded_from_stream_name, event_store: default_event_store)
|
50
49
|
event_store.publish_events(unpublished_events, stream_name: stream_name, expected_version: version)
|
51
50
|
@version += unpublished_events.size
|
52
51
|
@unpublished_events = nil
|
@@ -73,4 +72,6 @@ module AggregateRoot
|
|
73
72
|
def default_event_store
|
74
73
|
AggregateRoot.configuration.default_event_store
|
75
74
|
end
|
75
|
+
|
76
|
+
attr_reader :loaded_from_stream_name
|
76
77
|
end
|
@@ -18,12 +18,21 @@ module AggregateRoot
|
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
|
+
def handler_name(event)
|
22
|
+
on_methods.fetch(event.class) { handler_name_by_class(event.class) }
|
23
|
+
end
|
24
|
+
|
21
25
|
def handler_name_by_class(event_class)
|
22
|
-
"apply_#{event_class.name
|
26
|
+
"apply_#{to_snake_case(event_class.name)}"
|
23
27
|
end
|
24
28
|
|
25
|
-
def
|
26
|
-
|
29
|
+
def to_snake_case(class_name)
|
30
|
+
class_name
|
31
|
+
.split("::")
|
32
|
+
.last
|
33
|
+
.gsub(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
|
34
|
+
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
35
|
+
.downcase
|
27
36
|
end
|
28
37
|
|
29
38
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aggregate_root
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arkency
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.28.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.28.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mutant-rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,20 +80,6 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.8.14
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: activesupport
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '3.0'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '3.0'
|
97
83
|
description: Event sourced (with Rails Event Store) aggregate root implementation
|
98
84
|
email:
|
99
85
|
- dev@arkency.com
|
@@ -110,10 +96,14 @@ files:
|
|
110
96
|
- lib/aggregate_root/configuration.rb
|
111
97
|
- lib/aggregate_root/default_apply_strategy.rb
|
112
98
|
- lib/aggregate_root/version.rb
|
113
|
-
homepage:
|
99
|
+
homepage: https://railseventstore.org
|
114
100
|
licenses:
|
115
101
|
- MIT
|
116
|
-
metadata:
|
102
|
+
metadata:
|
103
|
+
homepage_uri: https://railseventstore.org/
|
104
|
+
changelog_uri: https://github.com/RailsEventStore/rails_event_store/releases
|
105
|
+
source_code_uri: https://github.com/RailsEventStore/rails_event_store
|
106
|
+
bug_tracker_uri: https://github.com/RailsEventStore/rails_event_store/issues
|
117
107
|
post_install_message:
|
118
108
|
rdoc_options: []
|
119
109
|
require_paths:
|
@@ -130,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
120
|
version: '0'
|
131
121
|
requirements: []
|
132
122
|
rubyforge_project:
|
133
|
-
rubygems_version: 2.6
|
123
|
+
rubygems_version: 2.7.6
|
134
124
|
signing_key:
|
135
125
|
specification_version: 4
|
136
126
|
summary: Event sourced (with Rails Event Store) aggregate root implementation
|