pact-mock_service 3.10.0 → 3.11.0

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
  SHA256:
3
- metadata.gz: d16d00c403d1d26138138585d3d47c523d07c22d68e86bbe03281cb365602045
4
- data.tar.gz: 8de64b754a090f75feec4ba1da30cf63647ee8e9d0bab378ddcab461427bb4d9
3
+ metadata.gz: 900bf74ef5f7b348d47bf9a91d116c4f5076c41210215c40535440c255057616
4
+ data.tar.gz: f2a22aee36bf3586cc426851bcebd60361ba5677a2ceda9b67bc8dca578c6fdd
5
5
  SHA512:
6
- metadata.gz: 945a1bff98624e8274039efd472e1e58a3882f60ab4ac95c8c3c374ec3a213c2e0b877bfa0b3b025f8aed1aa5af78bcd5bb77f7e3e91e6494f71df9d104231eb
7
- data.tar.gz: c4594ee0cc987482f35b92e460116e1a48c52f743850850bd3b949e3a070b53fdf008f833cb0adc837ea886633ee496126c0419ec5b6ace83f57e90c6fcd3762
6
+ metadata.gz: 32c18b8449aa4de2710e1b73240a3ce8d0cc9a97bc65dd2593f68b6204ea929da24b8f6251ba726634e17dc44a1f23776e86706a79bb8e743bcc0506e492ae80
7
+ data.tar.gz: 9ac2eca533f4c35ea4a38f4f9aba3f64a71f067ec10b8d7cf6b7d48eee9b19d25c36d35d98adf049da0977d5ed965fb4fc2ff93e68629e74f049bb6092028a24
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ <a name="v3.11.0"></a>
2
+ ### v3.11.0 (2022-08-17)
3
+
4
+ #### Features
5
+
6
+ * only print metrics warning once per thread ([1ae43da](/../../commit/1ae43da))
7
+
8
+ #### Bug Fixes
9
+
10
+ * fix ruby `circular require` warning (#136) ([615e59c](/../../commit/615e59c))
11
+
1
12
  <a name="v3.10.0"></a>
2
13
  ### v3.10.0 (2022-02-21)
3
14
 
data/README.md CHANGED
@@ -130,7 +130,7 @@ Description:
130
130
 
131
131
  See [CONTRIBUTING.md](/CONTRIBUTING.md)
132
132
 
133
- [pact]: https://github.com/realestate-com-au/pact
133
+ [pact]: https://github.com/pact-foundation/pact-ruby
134
134
  [executables]: https://github.com/pact-foundation/pact-ruby-standalone/releases
135
135
  [pact-dev]: https://groups.google.com/forum/#!forum/pact-dev
136
136
  [wiki]: https://github.com/pact-foundation/pact-mock_service/wiki
@@ -1,5 +1,5 @@
1
1
  module Pact
2
2
  module MockService
3
- VERSION = "3.10.0"
3
+ VERSION = "3.11.0"
4
4
  end
5
5
  end
@@ -1,7 +1,6 @@
1
1
  require 'securerandom'
2
2
  require 'digest'
3
3
  require 'socket'
4
- require 'pact/support/metrics'
5
4
  require 'pact/mock_service/version'
6
5
  require 'net/http'
7
6
 
@@ -10,17 +9,21 @@ module Pact
10
9
  class Metrics
11
10
 
12
11
  def self.report_metric(event, category, action, value = 1)
12
+ do_once_per_thread(:pact_metrics_message_shown) do
13
+ if track_events?
14
+ Pact.configuration.output_stream.puts "mock WARN: Please note: we are tracking events anonymously to gather important usage statistics like Pact-Ruby version and operating system. To disable tracking, set the 'PACT_DO_NOT_TRACK' environment variable to 'true'."
15
+ end
16
+ end
17
+
13
18
  in_thread do
14
19
  begin
15
20
  if track_events?
16
- Pact.configuration.output_stream.puts "WARN: Please note: we are tracking events anonymously to gather important usage statistics like Pact-Ruby version and operating system. To disable tracking, set the 'PACT_DO_NOT_TRACK' environment variable to 'true'."
17
-
18
- uri = URI('https://www.google-analytics.com/collect')
19
- req = Net::HTTP::Post.new(uri)
20
- req.set_form_data(create_tracking_event(event, category, action, value))
21
+ uri = URI('https://www.google-analytics.com/collect')
22
+ req = Net::HTTP::Post.new(uri)
23
+ req.set_form_data(create_tracking_event(event, category, action, value))
21
24
 
22
- Net::HTTP.start(uri.hostname, uri.port, read_timeout:2, open_timeout:2, :use_ssl => true ) do |http|
23
- http.request(req)
25
+ Net::HTTP.start(uri.hostname, uri.port, read_timeout:2, open_timeout:2, :use_ssl => true ) do |http|
26
+ http.request(req)
24
27
  end
25
28
  end
26
29
  rescue StandardError => e
@@ -43,6 +46,16 @@ module Pact
43
46
  end
44
47
  end
45
48
 
49
+ # Not super safe to use the thread, but it's good enough for this usecase
50
+ def self.do_once_per_thread(key)
51
+ result = nil
52
+ if !Thread.current[key]
53
+ result = yield
54
+ end
55
+ Thread.current[key] = true
56
+ result
57
+ end
58
+
46
59
  def self.create_tracking_event(event, category, action, value)
47
60
  {
48
61
  "v" => 1,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact-mock_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.10.0
4
+ version: 3.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2022-02-21 00:00:00.000000000 Z
15
+ date: 2023-01-20 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rack
@@ -412,7 +412,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
412
412
  - !ruby/object:Gem::Version
413
413
  version: '0'
414
414
  requirements: []
415
- rubygems_version: 3.3.7
415
+ rubygems_version: 3.4.4
416
416
  signing_key:
417
417
  specification_version: 4
418
418
  summary: Provides a mock service for use with Pact