covered 0.16.4 → 0.16.5

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: 39e5ee486e1ba129e36b7b48c3d2068662e2ae032f9de5708e02a8b5cdc955d1
4
- data.tar.gz: 7efaace9108f786e19ecbaf31643f1b5a3cd1cc139d2b7ec5680db9941a3611b
3
+ metadata.gz: 866c111f17bb03b47aed6e71a6439f3847e08d0352ba82eac169269d072820c7
4
+ data.tar.gz: a16bb2c36bcf50f0d26ce4576e741e512a144725a3c2b0f3c8724476fb64c7d4
5
5
  SHA512:
6
- metadata.gz: d0cab14e3b5af68a8144ebe2c6686da487c74045e277971c79d9354f9e3b3db9dfb05c54e98bcdde555e4baa6955f25ffc7664fa7a538ba33d5bd95790bd5386
7
- data.tar.gz: 4970f5c5fa059388be9d8660b61a3ee3cc69d210b3acaae0b3213ae360ef964db4d344ca4d8be1df56479fbbd0fb42e5caa801042e369343ce88fc98ad02fc36
6
+ metadata.gz: 22f7f294cf342ae163dd9f1ba8f3f812e193f5f233592c274f84bd1d18e99b5ca0041d5391b88a6df3f21032779e5ebcc399131ab03bb295988c9a178f3d26fa
7
+ data.tar.gz: 35d94a1e76a3640a22ad794c47c41a98562b1343964b5637d477b390875a4997cf054345470e7c2076f81fd182a344793f24bc2ebe67eca190c0737ff4274ef4
checksums.yaml.gz.sig CHANGED
Binary file
@@ -18,7 +18,7 @@
18
18
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  # THE SOFTWARE.
20
20
 
21
- require_relative 'policy'
21
+ require_relative 'config'
22
22
 
23
23
  require 'minitest'
24
24
 
@@ -0,0 +1,43 @@
1
+ # Copyright, 2019, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ require_relative 'config'
22
+
23
+ module Covered
24
+ module Sus
25
+ def initialize(...)
26
+ super
27
+
28
+ @covered = Covered::Config.load(root: self.root)
29
+ if @covered.record?
30
+ @covered.enable
31
+ end
32
+ end
33
+
34
+ def after_tests(assertions)
35
+ super(assertions)
36
+
37
+ if @covered.record?
38
+ @covered.disable
39
+ @covered.call(self.output.io)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Covered
22
- VERSION = "0.16.4"
22
+ VERSION = "0.16.5"
23
23
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,10 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: covered
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.4
4
+ version: 0.16.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
+ - Adam Daniels
8
9
  - Cyril Roelandt
9
10
  - Shannon Skipper
10
11
  - chocolateboy
@@ -13,33 +14,34 @@ bindir: bin
13
14
  cert_chain:
14
15
  - |
15
16
  -----BEGIN CERTIFICATE-----
16
- MIIEhDCCAuygAwIBAgIBATANBgkqhkiG9w0BAQsFADA3MTUwMwYDVQQDDCxzYW11
17
- ZWwud2lsbGlhbXMvREM9b3Jpb250cmFuc2Zlci9EQz1jby9EQz1uejAeFw0yMTA4
18
- MTYwNjMzNDRaFw0yMjA4MTYwNjMzNDRaMDcxNTAzBgNVBAMMLHNhbXVlbC53aWxs
19
- aWFtcy9EQz1vcmlvbnRyYW5zZmVyL0RDPWNvL0RDPW56MIIBojANBgkqhkiG9w0B
20
- AQEFAAOCAY8AMIIBigKCAYEAyXLSS/cw+fXJ5e7hi+U/TeChPWeYdwJojDsFY1xr
21
- xvtqbTTL8gbLHz5LW3QD2nfwCv3qTlw0qI3Ie7a9VMJMbSvgVEGEfQirqIgJXWMj
22
- eNMDgKsMJtC7u/43abRKx7TCURW3iWyR19NRngsJJmaR51yGGGm2Kfsr+JtKKLtL
23
- L188Wm3f13KAx7QJU8qyuBnj1/gWem076hzdA7xi1DbrZrch9GCRz62xymJlrJHn
24
- 9iZEZ7AxrS7vokhMlzSr/XMUihx/8aFKtk+tMLClqxZSmBWIErWdicCGTULXCBNb
25
- E/mljo4zEVKhlTWpJklMIhr55ZRrSarKFuW7en0+tpJrfsYiAmXMJNi4XAYJH7uL
26
- rgJuJwSaa/dMz+VmUoo7VKtSfCoOI+6v5/z0sK3oT6sG6ZwyI47DBq2XqNC6tnAj
27
- w+XmCywiTQrFzMMAvcA7rPI4F0nU1rZId51rOvvfxaONp+wgTi4P8owZLw0/j0m4
28
- 8C20DYi6EYx4AHDXiLpElWh3AgMBAAGjgZowgZcwCQYDVR0TBAIwADALBgNVHQ8E
29
- BAMCBLAwHQYDVR0OBBYEFB6ZaeWKxQjGTI+pmz7cKRmMIywwMC4GA1UdEQQnMCWB
30
- I3NhbXVlbC53aWxsaWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MC4GA1UdEgQnMCWB
31
- I3NhbXVlbC53aWxsaWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MA0GCSqGSIb3DQEB
32
- CwUAA4IBgQBVoM+pu3dpdUhZM1w051iw5GfiqclAr1Psypf16Tiod/ho//4oAu6T
33
- 9fj3DPX/acWV9P/FScvqo4Qgv6g4VWO5ZU7z2JmPoTXZtYMunRAmQPFL/gSUc6aK
34
- vszMHIyhtyzRc6DnfW2AiVOjMBjaYv8xXZc9bduniRVPrLR4J7ozmGLh4o4uJp7w
35
- x9KCFaR8Lvn/r0oJWJOqb/DMAYI83YeN2Dlt3jpwrsmsONrtC5S3gOUle5afSGos
36
- bYt5ocnEpKSomR9ZtnCGljds/aeO1Xgpn2r9HHcjwnH346iNrnHmMlC7BtHUFPDg
37
- Ts92S47PTOXzwPBDsrFiq3VLbRjHSwf8rpqybQBH9MfzxGGxTaETQYOd6b4e4Ag6
38
- y92abGna0bmIEb4+Tx9rQ10Uijh1POzvr/VTH4bbIPy9FbKrRsIQ24qDbNJRtOpE
39
- RAOsIl+HOBTb252nx1kIRN5hqQx272AJCbCjKx8egcUQKffFVVCI0nye09v5CK+a
40
- HiLJ8VOFx6w=
17
+ MIIE2DCCA0CgAwIBAgIBATANBgkqhkiG9w0BAQsFADBhMRgwFgYDVQQDDA9zYW11
18
+ ZWwud2lsbGlhbXMxHTAbBgoJkiaJk/IsZAEZFg1vcmlvbnRyYW5zZmVyMRIwEAYK
19
+ CZImiZPyLGQBGRYCY28xEjAQBgoJkiaJk/IsZAEZFgJuejAeFw0yMjA4MDYwNDUz
20
+ MjRaFw0zMjA4MDMwNDUzMjRaMGExGDAWBgNVBAMMD3NhbXVlbC53aWxsaWFtczEd
21
+ MBsGCgmSJomT8ixkARkWDW9yaW9udHJhbnNmZXIxEjAQBgoJkiaJk/IsZAEZFgJj
22
+ bzESMBAGCgmSJomT8ixkARkWAm56MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIB
23
+ igKCAYEAomvSopQXQ24+9DBB6I6jxRI2auu3VVb4nOjmmHq7XWM4u3HL+pni63X2
24
+ 9qZdoq9xt7H+RPbwL28LDpDNflYQXoOhoVhQ37Pjn9YDjl8/4/9xa9+NUpl9XDIW
25
+ sGkaOY0eqsQm1pEWkHJr3zn/fxoKPZPfaJOglovdxf7dgsHz67Xgd/ka+Wo1YqoE
26
+ e5AUKRwUuvaUaumAKgPH+4E4oiLXI4T1Ff5Q7xxv6yXvHuYtlMHhYfgNn8iiW8WN
27
+ XibYXPNP7NtieSQqwR/xM6IRSoyXKuS+ZNGDPUUGk8RoiV/xvVN4LrVm9upSc0ss
28
+ RZ6qwOQmXCo/lLcDUxJAgG95cPw//sI00tZan75VgsGzSWAOdjQpFM0l4dxvKwHn
29
+ tUeT3ZsAgt0JnGqNm2Bkz81kG4A2hSyFZTFA8vZGhp+hz+8Q573tAR89y9YJBdYM
30
+ zp0FM4zwMNEUwgfRzv1tEVVUEXmoFCyhzonUUw4nE4CFu/sE3ffhjKcXcY//qiSW
31
+ xm4erY3XAgMBAAGjgZowgZcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
32
+ BBYEFO9t7XWuFf2SKLmuijgqR4sGDlRsMC4GA1UdEQQnMCWBI3NhbXVlbC53aWxs
33
+ aWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MC4GA1UdEgQnMCWBI3NhbXVlbC53aWxs
34
+ aWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MA0GCSqGSIb3DQEBCwUAA4IBgQB5sxkE
35
+ cBsSYwK6fYpM+hA5B5yZY2+L0Z+27jF1pWGgbhPH8/FjjBLVn+VFok3CDpRqwXCl
36
+ xCO40JEkKdznNy2avOMra6PFiQyOE74kCtv7P+Fdc+FhgqI5lMon6tt9rNeXmnW/
37
+ c1NaMRdxy999hmRGzUSFjozcCwxpy/LwabxtdXwXgSay4mQ32EDjqR1TixS1+smp
38
+ 8C/NCWgpIfzpHGJsjvmH2wAfKtTTqB9CVKLCWEnCHyCaRVuKkrKjqhYCdmMBqCws
39
+ JkxfQWC+jBVeG9ZtPhQgZpfhvh+6hMhraUYRQ6XGyvBqEUe+yo6DKIT3MtGE2+CP
40
+ eX9i9ZWBydWb8/rvmwmX2kkcBbX0hZS1rcR593hGc61JR6lvkGYQ2MYskBveyaxt
41
+ Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
42
+ voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
41
43
  -----END CERTIFICATE-----
42
- date: 2022-06-22 00:00:00.000000000 Z
44
+ date: 2022-08-24 00:00:00.000000000 Z
43
45
  dependencies:
44
46
  - !ruby/object:Gem::Dependency
45
47
  name: async-rest
@@ -165,7 +167,6 @@ files:
165
167
  - lib/covered/capture.rb
166
168
  - lib/covered/config.rb
167
169
  - lib/covered/coverage.rb
168
- - lib/covered/coveralls.rb
169
170
  - lib/covered/files.rb
170
171
  - lib/covered/markdown_summary.rb
171
172
  - lib/covered/minitest.rb
@@ -175,6 +176,7 @@ files:
175
176
  - lib/covered/source.rb
176
177
  - lib/covered/statistics.rb
177
178
  - lib/covered/summary.rb
179
+ - lib/covered/sus.rb
178
180
  - lib/covered/version.rb
179
181
  - lib/covered/wrapper.rb
180
182
  homepage: https://github.com/ioquatix/covered
metadata.gz.sig CHANGED
Binary file
@@ -1,108 +0,0 @@
1
- # Copyright, 2019, by Samuel G. D. Williams. <http://www.codeotaku.com>
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the "Software"), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in
11
- # all copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- # THE SOFTWARE.
20
-
21
- require 'async'
22
- require 'async/rest/representation'
23
-
24
- require 'securerandom'
25
-
26
- module Covered
27
- class Coveralls
28
- class Wrapper < Async::REST::Wrapper::JSON
29
- def prepare_request(payload, headers)
30
- headers['accept'] ||= @content_type
31
- boundary = SecureRandom.hex(32)
32
-
33
- # This is a pretty messed up API. Don't change anything below. It's fragile.
34
- if payload
35
- headers['content-type'] = "multipart/form-data, boundary=#{boundary}"
36
-
37
- Async::HTTP::Body::Buffered.new([
38
- "--#{boundary}\r\n",
39
- "Content-Disposition: form-data; name=\"json_file\"; filename=\"body.json\"\r\n",
40
- "Content-Type: text/plain\r\n\r\n",
41
- ::JSON.dump(payload),
42
- "\r\n--#{boundary}--\r\n",
43
- ])
44
- end
45
- end
46
- end
47
-
48
- URL = "https://coveralls.io/api/v1/jobs"
49
-
50
- def initialize(token: nil, service: nil, job_id: nil)
51
- @token = token
52
- @service = service
53
- @job_id = job_id
54
- end
55
-
56
- def detect_service
57
- if token = ENV.fetch('COVERALLS_REPO_TOKEN', @token)
58
- return {"repo_token" => token}
59
- elsif @service && @job_id
60
- return {"service_name" => @service, "service_job_id" => @job_id}
61
- elsif job_id = ENV['TRAVIS_JOB_ID']
62
- return {"service_name" => "travis-ci", "service_job_id" => job_id}
63
- elsif token = ENV['GITHUB_TOKEN']
64
- return {"service_name" => "github", "repo_token" => token}
65
- else
66
- warn "#{self.class} can't detect service! Please specify COVERALLS_REPO_TOKEN."
67
- end
68
-
69
- return nil
70
- end
71
-
72
- def call(wrapper, output = $stderr)
73
- if body = detect_service
74
- output.puts "Submitting data using #{body.inspect}..."
75
-
76
- source_files = []
77
-
78
- wrapper.each do |coverage|
79
- path = wrapper.relative_path(coverage.path)
80
-
81
- source_files << {
82
- name: path,
83
- source_digest: Digest::MD5.hexdigest(coverage.read),
84
- coverage: coverage.to_a,
85
- }
86
- end
87
-
88
- body[:source_files] = source_files
89
-
90
- Async do
91
- representation = Async::REST::Representation.new(
92
- Async::REST::Resource.for(URL),
93
- wrapper: Wrapper.new
94
- )
95
-
96
- begin
97
- response = representation.post(body)
98
-
99
- output.puts "Got response: #{response.read}"
100
-
101
- ensure
102
- representation.close
103
- end
104
- end
105
- end
106
- end
107
- end
108
- end