aggregate_root 0.3.5 → 0.3.6
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/.travis.yml +4 -1
- data/CHANGELOG.md +4 -0
- data/CONTRIBUTING.md +27 -0
- data/Makefile +20 -0
- data/README.md +14 -0
- data/aggregate_root.gemspec +2 -1
- data/lib/aggregate_root/configuration.rb +0 -4
- data/lib/aggregate_root/default_apply_strategy.rb +1 -1
- data/lib/aggregate_root/version.rb +1 -1
- metadata +21 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9abd38a1384a162a47c5d1f171c3baf04dcd3f3
|
4
|
+
data.tar.gz: 0e02fdbe90c01263f7eb37a437ff04a4be12ad45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aac50706e44673a3fe21bd9cf1285ee80f497597b8b84819028c1f634cb9c01da64249bf4a7b2b7bb9691c439be1710bca2984cbc7cd33c4a4297f71fe5c276a
|
7
|
+
data.tar.gz: 54e6b55343965234660ce8ae8d1369c7681753b4281474944f1764849f6d9ad789261baf72692e2f116b6c54732739468f0f0ba66fa31f37e8d2553d36424951
|
data/.travis.yml
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.1.
|
3
|
+
- 2.1.10
|
4
|
+
- 2.2.5
|
5
|
+
- 2.3.1
|
4
6
|
before_install: gem install bundler
|
5
7
|
gemfile: Gemfile
|
8
|
+
script: make mutate
|
6
9
|
env:
|
7
10
|
- CODECLIMATE_REPO_TOKEN=3af5c60b54fff033bf0dc1af4f26762647bcf3b78268a94d67ea9530b5b52a61
|
8
11
|
notifications:
|
data/CHANGELOG.md
CHANGED
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Contributing to AggregateRoot
|
2
|
+
|
3
|
+
Any kind of contribution is welcomed. Here is a few guidelines that we need contributors to follow.
|
4
|
+
|
5
|
+
## Found a bug? Have a question?
|
6
|
+
|
7
|
+
* [Create a new issue](https://github.com/arkency/aggregate_root/issues/new), assuming one does not already exist.
|
8
|
+
* Clearly describe the issue including steps to reproduce when it is a bug.
|
9
|
+
* If possible provide a Pull Request with failing test case.
|
10
|
+
|
11
|
+
## Getting Started
|
12
|
+
|
13
|
+
* Make sure you have a [GitHub account](https://github.com/signup/free).
|
14
|
+
* [Fork the repository](https://help.github.com/articles/fork-a-repo/) on GitHub.
|
15
|
+
|
16
|
+
## Making Changes
|
17
|
+
|
18
|
+
* Create a feature branch from where you want to base your work.
|
19
|
+
* Do your work. Please try to keep your commits small and focussed.
|
20
|
+
* Make sure you have added the necessary tests for your changes.
|
21
|
+
* Push your changes to a feature branch in your fork of the repository.
|
22
|
+
* Submit a pull request to the AggregateRoot repository.
|
23
|
+
|
24
|
+
# Additional Resources
|
25
|
+
|
26
|
+
* [General GitHub documentation](http://help.github.com/)
|
27
|
+
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
|
data/Makefile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
install-bundler: ## Install gem dependencies
|
2
|
+
@echo "Installing gem dependencies"
|
3
|
+
@bundle install
|
4
|
+
|
5
|
+
install: install-bundler ## Prepare current development environment
|
6
|
+
|
7
|
+
test: ## Run tests
|
8
|
+
@echo "Running basic tests - beware: this won't guarantee build pass"
|
9
|
+
@bundle exec rspec
|
10
|
+
|
11
|
+
mutate: test ## Run mutation tests
|
12
|
+
@echo "Running mutation tests - only 100% free mutation will be accepted"
|
13
|
+
@bundle exec mutant --include lib --require aggregate_root --use rspec "AggregateRoot*"
|
14
|
+
|
15
|
+
.PHONY: help
|
16
|
+
|
17
|
+
help:
|
18
|
+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
19
|
+
|
20
|
+
.DEFAULT_GOAL := help
|
data/README.md
CHANGED
@@ -142,6 +142,20 @@ There're already few blogposts about building an event sourced applications wth
|
|
142
142
|
* [Testing Event Sourced application - the read side](http://blog.arkency.com/2015/09/testing-event-sourced-application-the-read-side/)
|
143
143
|
* [One event to rule them all](http://blog.arkency.com/2016/01/one-event-to-rule-them-all/)
|
144
144
|
|
145
|
+
# Contributing
|
146
|
+
|
147
|
+
Check the contribution guide on [CONTRIBUTING.md](https://github.com/arkency/aggregate_root/blob/master/CONTRIBUTING.md)
|
148
|
+
|
149
|
+
We're aiming for 100% mutation coverage in this project.
|
150
|
+
Read the reasoning:
|
151
|
+
|
152
|
+
[Why I want to introduce mutation testing to the rails_event_store gem](http://blog.arkency.com/2015/04/why-i-want-to-introduce-mutation-testing-to-the-rails-event-store-gem/)
|
153
|
+
|
154
|
+
[Mutation testing and continuous integration](http://blog.arkency.com/2015/05/mutation-testing-and-continuous-integration/)
|
155
|
+
|
156
|
+
In practice, it means that we run `make mutate` as part of the CI process.
|
157
|
+
Whenever you fix a bug or add a new feature, we require that the coverage doesn't go down.
|
158
|
+
|
145
159
|
## About
|
146
160
|
|
147
161
|
<img src="http://arkency.com/images/arkency.png" alt="Arkency" width="20%" align="left" />
|
data/aggregate_root.gemspec
CHANGED
@@ -24,7 +24,8 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_development_dependency 'pry'
|
25
25
|
spec.add_development_dependency 'rspec'
|
26
26
|
spec.add_development_dependency 'rails', '~> 4.2.1'
|
27
|
-
spec.add_development_dependency 'ruby_event_store', '~> 0.
|
27
|
+
spec.add_development_dependency 'ruby_event_store', '~> 0.13.0'
|
28
|
+
spec.add_development_dependency 'mutant-rspec', '~> 0.8'
|
28
29
|
|
29
30
|
spec.add_dependency 'activesupport', '>= 3.0'
|
30
31
|
end
|
@@ -2,7 +2,7 @@ module AggregateRoot
|
|
2
2
|
class DefaultApplyStrategy
|
3
3
|
def call(aggregate, event)
|
4
4
|
event_name_processed = event.class.to_s.underscore.gsub('/','_')
|
5
|
-
aggregate.method("apply_#{event_name_processed}"
|
5
|
+
aggregate.method("apply_#{event_name_processed}").call(event)
|
6
6
|
end
|
7
7
|
end
|
8
8
|
end
|
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.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arkency
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,14 +86,28 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.13.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.13.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: mutant-rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.8'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.8'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: activesupport
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,8 +132,10 @@ files:
|
|
118
132
|
- ".gitignore"
|
119
133
|
- ".travis.yml"
|
120
134
|
- CHANGELOG.md
|
135
|
+
- CONTRIBUTING.md
|
121
136
|
- Gemfile
|
122
137
|
- LICENSE
|
138
|
+
- Makefile
|
123
139
|
- README.md
|
124
140
|
- Rakefile
|
125
141
|
- aggregate_root.gemspec
|
@@ -149,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
165
|
version: '0'
|
150
166
|
requirements: []
|
151
167
|
rubyforge_project:
|
152
|
-
rubygems_version: 2.
|
168
|
+
rubygems_version: 2.6.7
|
153
169
|
signing_key:
|
154
170
|
specification_version: 4
|
155
171
|
summary: Event sourced (with Rails Event Store) aggregate root implementation
|