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