data-hoover 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +12 -0
- data/lib/data_hoover/rspec/matchers.rb +21 -0
- data/lib/data_hoover/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00a07e94e48e2cd6ac0da39d2e13bd56f19a19ee
|
4
|
+
data.tar.gz: f95f5cb614eb4640754fa9389f26addfc65b1c93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c2b3de42fed39d13b24efd880a67d4abccb0bad59e131ecf6d29d4b467f654b5495a29e808d429d1e588adba01c8365073b72fb566e16a878de19776b916279
|
7
|
+
data.tar.gz: 9a9c92a2f33e690011f419bede6bda9a3e8fb9741b96ae47a6217f35de8bc9053d6b5b9ab4a6a89ca00db81844dbab978075cceae1f3ef2b5c2e4bac0d9495ce
|
data/README.md
CHANGED
@@ -79,6 +79,18 @@ event_payload = {
|
|
79
79
|
nozzle.absorb('event_name', event_payload)
|
80
80
|
```
|
81
81
|
|
82
|
+
If you are using [RSpec](https://github.com/rspec/rspec-core), you can `require
|
83
|
+
data_hoover/rspec/matchers` in your spec file. This will let you do things like
|
84
|
+
``` ruby
|
85
|
+
it { expect(subject).to track(event_name).with(event_payload) }
|
86
|
+
```
|
87
|
+
in your test files (make sure your subject responds to `#call`).
|
88
|
+
If your subject does not respond to call, you can also go with the block
|
89
|
+
version:
|
90
|
+
``` ruby
|
91
|
+
expect { subject }.to track(event_name).with(event_payload) }
|
92
|
+
```
|
93
|
+
|
82
94
|
## Development
|
83
95
|
|
84
96
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
@@ -0,0 +1,21 @@
|
|
1
|
+
RSpec::Matchers.define :track do |event|
|
2
|
+
supports_block_expectations
|
3
|
+
|
4
|
+
match do |api|
|
5
|
+
partial_expectation = expect_any_instance_of(DataHoover::Nozzle).to receive(:absorb)
|
6
|
+
|
7
|
+
if @chained_method_clauses.any?
|
8
|
+
partial_expectation.with(event, @payload)
|
9
|
+
else
|
10
|
+
partial_expectation.with(event, anything)
|
11
|
+
end
|
12
|
+
|
13
|
+
api.call
|
14
|
+
|
15
|
+
true
|
16
|
+
end
|
17
|
+
|
18
|
+
chain :with do |payload|
|
19
|
+
@payload = payload
|
20
|
+
end
|
21
|
+
end
|
data/lib/data_hoover/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data-hoover
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Larrieu
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-05-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- lib/data_hoover.rb
|
89
89
|
- lib/data_hoover/bags/segment_analytics.rb
|
90
90
|
- lib/data_hoover/nozzle.rb
|
91
|
+
- lib/data_hoover/rspec/matchers.rb
|
91
92
|
- lib/data_hoover/version.rb
|
92
93
|
homepage: https://github.com/jobteaser/data-hoover
|
93
94
|
licenses:
|
@@ -109,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
110
|
version: '0'
|
110
111
|
requirements: []
|
111
112
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.
|
113
|
+
rubygems_version: 2.6.11
|
113
114
|
signing_key:
|
114
115
|
specification_version: 4
|
115
116
|
summary: Event sourcing for human beings
|