cobench 0.0.24 → 0.0.27

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: c88b2884af1c5f379f0ffc146188ae2b1c7ab4ffd1fa6690a1bebc1120b2f848
4
- data.tar.gz: 4ccd4da7ea79c1f0b121c289a28def7b4decbb6b4792856f59bc0b4ca8cd87d9
3
+ metadata.gz: 47f3f37318c2232bf63618919be537f4e62376cde764593380403037e3d9f524
4
+ data.tar.gz: 62c34a1ee6af530921f33ecb1b7c66c88526b9fca3153ab9b76c0e91277aa0ad
5
5
  SHA512:
6
- metadata.gz: 884a2cf5e5bff6d1050a94e2abc09ea4c4c96d45144a529ae7e7a9c4b86382ce8ec73841f6119a0c5a42b96896105658b1436e6204ffb99e9bf80733f49204da
7
- data.tar.gz: 9a55303410d004305736bcafa56e61c10e323fe698f7c59b210dbb8135e9c5b21836ae9fc29057b26c31cb3761e0634f3fc94230da830ef2237598ad6a722843
6
+ metadata.gz: cb1947fc4eca6c72ca3ee7b74aa67d179511e6e331214946ed8b1d8091939f0d4958bb36657c0128d581b25ab9651e3140fd96ec63e8bf2866765022445a3887
7
+ data.tar.gz: 429128c6e5c1110ee0b5af6b8811e24a1984f03a435abf7ff3b0f25d7d8123ece3772afe5e39ea703a6ea94a7888ef62aa32181859b494224c7991511503e535
data/assets/index.xsl CHANGED
@@ -173,8 +173,7 @@ SOFTWARE.
173
173
  </xsl:template>
174
174
  <xsl:template match="cobench/titles">
175
175
  <tr>
176
- <th/>
177
- <th/>
176
+ <th colspan="2"/>
178
177
  <xsl:for-each select="title[generate-id() = generate-id(key('titles', .)[1])]">
179
178
  <xsl:sort select="."/>
180
179
  <th class="sorter num">
data/bin/cobench CHANGED
@@ -74,6 +74,16 @@ end
74
74
  Encoding.default_external = Encoding::UTF_8
75
75
  Encoding.default_internal = Encoding::UTF_8
76
76
 
77
+ def div(a, b)
78
+ return 0 if b == 0
79
+ a / b
80
+ end
81
+
82
+ def actual(ms)
83
+ return ms[:actual] if ms.key?(:actual)
84
+ ms[:total]
85
+ end
86
+
77
87
  def build_xml(opts, loog)
78
88
  if opts.token?
79
89
  api = Octokit::Client.new(:access_token => opts[:token])
@@ -150,11 +160,11 @@ def build_xml(opts, loog)
150
160
  end
151
161
  averages = {
152
162
  'HpP': {
153
- f: lambda { |ms| ms['HoC'][:total] / ms['Pulls'][:total] },
163
+ f: lambda { |ms| div(actual(ms['HoC']), actual(ms['Pulls'])) },
154
164
  title: 'HoC per Pull'
155
165
  },
156
166
  'HpC': {
157
- f: lambda { |ms| ms['HoC'][:total] / ms['Commits'][:total] },
167
+ f: lambda { |ms| div(actual(ms['HoC']), actual(ms['Commits'])) },
158
168
  title: 'HoC per Commit'
159
169
  }
160
170
  }
@@ -185,7 +195,7 @@ def build_xml(opts, loog)
185
195
  next if t == 'Score'
186
196
  next if averages.key?(t)
187
197
  xml.w(id: t) do
188
- xml.text(data.values.map { |ms| ms[t][:total] }.inject(&:+))
198
+ xml.text(data.values.map { |ms| actual(ms[t]) }.inject(&:+))
189
199
  end
190
200
  end
191
201
  end
@@ -193,8 +203,8 @@ def build_xml(opts, loog)
193
203
  data.map { |_, ms| ms.keys }.flatten.uniq.each do |t|
194
204
  next if t == 'Score'
195
205
  xml.w(id: t) do
196
- vals = data.values.map { |ms| ms[t][:total] }.select { |v| v > 0 }
197
- xml.text(vals.inject(&:+) / vals.count)
206
+ vals = data.values.map { |ms| actual(ms[t]) }.select { |v| v > 0 }
207
+ xml.text(div(vals.inject(&:+), vals.count))
198
208
  end
199
209
  end
200
210
  end
@@ -23,5 +23,5 @@
23
23
  # Copyright:: Copyright (c) 2022 Yegor Bugayenko
24
24
  # License:: MIT
25
25
  module Cobench
26
- VERSION = '0.0.24'.freeze
26
+ VERSION = '0.0.27'.freeze
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cobench
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
4
+ version: 0.0.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-01 00:00:00.000000000 Z
11
+ date: 2022-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace