ruby_dci 0.3.1 → 0.3.2

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 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