pact-mock_service 3.10.0 → 3.11.0

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