ruby_dci 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 00d17d0700821ae02fcf4bfa8e2fa46bf713d38c
4
- data.tar.gz: b2931d80ea9c5fd4cf12a328114cd8aafc0f0c2a
3
+ metadata.gz: d785049512614bd8491b675530d214d4c12ba033
4
+ data.tar.gz: 4e46c70d98b9efce7ed6ad82e833d012f607003b
5
5
  SHA512:
6
- metadata.gz: a04ba34b06eb1b6b375208bd765c7646bffc8e6ca8556dfc632a7d730588164ed1a7473edc1e54ad34aa52eadd6ab712b76f6b430518632fcbe16755cafeb6d5
7
- data.tar.gz: eb0ffa060140214a3914194f1edb2222b5785505c059c07779bf1b07af8c85b826b31d0391b62611905c44970a10b0b0249fea1e0e89e0601261d30b36ba2b2d
6
+ metadata.gz: e772f2e28dac6d844fb1102a1dd893de2d111b60299a61cd28f94af4cd2ebd3c06b23918dd4d1250244fd7d9d893a4403be09141214407cb972ac406fe4883af
7
+ data.tar.gz: 943299b8311a69166709012b1a116faa59d3bd3798e5306b0992f804944c017a3273ee597163126ceabac745a3443a2fb150143321545fef7e15ebcbdeadb9a6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 0.3.2 (2018-06-01)
2
+
3
+ Features:
4
+
5
+ - `include_context_event` RSpec matcher.
6
+
7
+
1
8
  ## 0.3.1 (2018-05-25)
2
9
 
3
10
  Features:
data/README.md CHANGED
@@ -160,6 +160,21 @@ module Customer
160
160
  end
161
161
  ```
162
162
 
163
+ ## Testing
164
+
165
+ The gem includes a RSpec matcher `include_context_event`. Use it like this:
166
+
167
+ In `rails_helper.rb`:
168
+ ```ruby
169
+ require 'dci/rspec/matchers'
170
+ ```
171
+
172
+ In your spec:
173
+ ```ruby
174
+ expect(customer).to include_context_event DomainEvent::ProductAddedToCart
175
+ ```
176
+
177
+
163
178
  ## Development
164
179
 
165
180
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -0,0 +1,18 @@
1
+ require 'rspec/support'
2
+ RSpec::Support.require_rspec_support 'matcher_definition'
3
+
4
+ RSpec.configure do |config|
5
+ config.before do
6
+ Thread.current[:context_events] = []
7
+ end
8
+ end
9
+
10
+ RSpec::Matchers.define :include_context_event do |expected_context_event|
11
+ match do |object|
12
+ object.context_events.map(&:class).include?(expected_context_event)
13
+ end
14
+
15
+ failure_message do |object|
16
+ "expected context_events (#{ object.context_events.map(&:class).map(&:name) }) to include #{ expected_context_event.name }"
17
+ end
18
+ end
data/lib/dci/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module DCI
2
2
 
3
- VERSION = "0.3.1".freeze
3
+ VERSION = "0.3.2".freeze
4
4
 
5
5
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_dci
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksandr Lossenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-25 00:00:00.000000000 Z
11
+ date: 2018-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec-support
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.7.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 3.7.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -84,6 +98,7 @@ files:
84
98
  - lib/dci/event_router.rb
85
99
  - lib/dci/null_transaction.rb
86
100
  - lib/dci/role.rb
101
+ - lib/dci/rspec/matchers.rb
87
102
  - lib/dci/version.rb
88
103
  - spec/dci/accessor_spec.rb
89
104
  - spec/dci/configuration_spec.rb
@@ -114,17 +129,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
129
  version: '0'
115
130
  requirements: []
116
131
  rubyforge_project:
117
- rubygems_version: 2.6.13
132
+ rubygems_version: 2.5.2.1
118
133
  signing_key:
119
134
  specification_version: 4
120
135
  summary: Opinionated DCI implementation for ruby.
121
136
  test_files:
122
- - spec/spec_helper.rb
123
- - spec/dci_spec.rb
124
137
  - spec/dci/accessor_spec.rb
125
138
  - spec/dci/configuration_spec.rb
126
139
  - spec/dci/context_spec.rb
127
140
  - spec/dci/event_router_spec.rb
128
141
  - spec/dci/null_transaction_spec.rb
129
142
  - spec/dci/role_spec.rb
143
+ - spec/dci_spec.rb
130
144
  - spec/matchers/should_have_attr_accessor.rb
145
+ - spec/spec_helper.rb