aggregate_root 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|