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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6796648846e392f27d8139921022fa96605fb377
4
- data.tar.gz: 142dc60836f0f3e9c7a666fb539e9a03aa20f2b8
3
+ metadata.gz: 00a07e94e48e2cd6ac0da39d2e13bd56f19a19ee
4
+ data.tar.gz: f95f5cb614eb4640754fa9389f26addfc65b1c93
5
5
  SHA512:
6
- metadata.gz: ff4ef64569a05bac68107ebba9f71548fcc9be90eb0f5c1b731e8defd200d7ffe041b8914409ad8211b05f908cb8b65205bbfa4e73a8ac977284f057520c433b
7
- data.tar.gz: 19578664eee59bd57d51dfa229ec74080a413b2778bf90e6c96b56eaa5afa01e9f1b2708731da925e48128c22ec7283cbbd0c435804c2f1fd4ea3d36c42d8be1
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
@@ -1,3 +1,3 @@
1
1
  module DataHoover
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
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.0
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: 2017-05-03 00:00:00.000000000 Z
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.4.5.1
113
+ rubygems_version: 2.6.11
113
114
  signing_key:
114
115
  specification_version: 4
115
116
  summary: Event sourcing for human beings