data-hoover 0.1.0 → 0.1.1
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/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
|