cobench 0.0.25 → 0.0.28

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: 8d819cbcfb4db70f384f27e82168b629ff4d5b1da9846edcbde2f2ebea965f86
4
- data.tar.gz: 8fd71ec9c615bc21e6b33c6ee2b1b30d3e45f6e5c6ca3bcf64b04051861253d2
3
+ metadata.gz: 59a9eeca7f5fcb377fcd74fd3d61dba8e2e3a8f9d28b456a5395ae6bab04781c
4
+ data.tar.gz: 4a1437f4564485167e80c14e66bbfe525529a8ee19738e6ebbea65d614de3de1
5
5
  SHA512:
6
- metadata.gz: ebd6470d05c7883710c2d0b8197e559a9d2fb9c250b290ce6b7ba474b5363d129e67ae8a147f743324f6252d4d3d302e1acf4240cce5f2dbaca6d4397fe78b0d
7
- data.tar.gz: c0675ef02071fb68f066e61c66184fcc4010685ce442b1345b7c9a16a40f9f187bc23428a689a4a41252dd2493df806d5eb782147c11c2c9fc1410537392f3af
6
+ metadata.gz: 9a9050e83ed1b3dfb922f8664c1623b3aa6b4cb61bc659dfb49372023072cf6ec2d3d944a6a23990278afb8c87d551415b003277a2bb0c5e2846c1bfab6cc91b
7
+ data.tar.gz: d0298ae4bd39ac293a2dfd91d745546143778211c93e56f28f1bc8975661d78d3fd68d10a8e981eca8bc80bb50c7747d2f60caf73e1855c311f348bd0b649c5a
data/assets/index.xsl CHANGED
@@ -23,9 +23,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  SOFTWARE.
24
24
  -->
25
25
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
26
- <xsl:output encoding="UTF-8" method="html"/>
26
+ <xsl:output encoding="UTF-8" method="xml"/>
27
27
  <xsl:param name="version"/>
28
- <xsl:key name="titles" match="/cobench/titles/title" use="."/>
29
28
  <xsl:template match="/">
30
29
  <html>
31
30
  <head>
@@ -47,9 +46,10 @@ SOFTWARE.
47
46
  td, th { font-family: monospace; font-size: 18px; }
48
47
  .num { text-align: right; }
49
48
  .left { border-bottom: 0; }
49
+ section { width: 100%; }
50
50
  header { text-align: center; }
51
51
  footer { text-align: center; font-size: 0.8em; line-height: 1.2em; color: gray; }
52
- article { width: 60em; border: 0; }
52
+ article { border: 0; }
53
53
  td.avatar { vertical-align: middle; text-align: center; }
54
54
  td.avatar img { width: 1.5em; height: 1.5em; vertical-align: middle; }
55
55
  .subtitle { font-size: 0.8em; line-height: 1em; color: gray; }
@@ -67,6 +67,14 @@ SOFTWARE.
67
67
  </header>
68
68
  <article>
69
69
  <table id="metrics">
70
+ <colgroup>
71
+ <col/>
72
+ <col/>
73
+ <xsl:for-each select="cobench/titles/title">
74
+ <xsl:sort select="."/>
75
+ <col/>
76
+ </xsl:for-each>
77
+ </colgroup>
70
78
  <thead>
71
79
  <xsl:apply-templates select="cobench/titles"/>
72
80
  </thead>
@@ -173,9 +181,8 @@ SOFTWARE.
173
181
  </xsl:template>
174
182
  <xsl:template match="cobench/titles">
175
183
  <tr>
176
- <th/>
177
- <th/>
178
- <xsl:for-each select="title[generate-id() = generate-id(key('titles', .)[1])]">
184
+ <th colspan="2"/>
185
+ <xsl:for-each select="title">
179
186
  <xsl:sort select="."/>
180
187
  <th class="sorter num">
181
188
  <xsl:value-of select="."/>
@@ -187,7 +194,7 @@ SOFTWARE.
187
194
  <xsl:variable name="totals" select="."/>
188
195
  <tr>
189
196
  <td colspan="2" style="text-align:right">Total:</td>
190
- <xsl:for-each select="/cobench/titles/title[generate-id() = generate-id(key('titles', .)[1])]">
197
+ <xsl:for-each select="/cobench/titles/title">
191
198
  <xsl:sort select="."/>
192
199
  <xsl:variable name="t" select="."/>
193
200
  <td class="num">
@@ -200,7 +207,7 @@ SOFTWARE.
200
207
  <xsl:variable name="averages" select="."/>
201
208
  <tr>
202
209
  <td colspan="2" style="text-align:right">Average:</td>
203
- <xsl:for-each select="/cobench/titles/title[generate-id() = generate-id(key('titles', .)[1])]">
210
+ <xsl:for-each select="/cobench/titles/title">
204
211
  <xsl:sort select="."/>
205
212
  <xsl:variable name="t" select="."/>
206
213
  <td class="num">
data/bin/cobench CHANGED
@@ -79,6 +79,11 @@ def div(a, b)
79
79
  a / b
80
80
  end
81
81
 
82
+ def actual(ms)
83
+ return ms[:actual] if ms.key?(:actual)
84
+ ms[:total]
85
+ end
86
+
82
87
  def build_xml(opts, loog)
83
88
  if opts.token?
84
89
  api = Octokit::Client.new(:access_token => opts[:token])
@@ -155,11 +160,11 @@ def build_xml(opts, loog)
155
160
  end
156
161
  averages = {
157
162
  'HpP': {
158
- f: lambda { |ms| div(ms['HoC'][:total], ms['Pulls'][:total]) },
163
+ f: lambda { |ms| div(actual(ms['HoC']), actual(ms['Pulls'])) },
159
164
  title: 'HoC per Pull'
160
165
  },
161
166
  'HpC': {
162
- f: lambda { |ms| div(ms['HoC'][:total], ms['Commits'][:total]) },
167
+ f: lambda { |ms| div(actual(ms['HoC']), actual(ms['Commits'])) },
163
168
  title: 'HoC per Commit'
164
169
  }
165
170
  }
@@ -190,7 +195,7 @@ def build_xml(opts, loog)
190
195
  next if t == 'Score'
191
196
  next if averages.key?(t)
192
197
  xml.w(id: t) do
193
- xml.text(data.values.map { |ms| ms[t][:total] }.inject(&:+))
198
+ xml.text(data.values.map { |ms| actual(ms[t]) }.inject(&:+))
194
199
  end
195
200
  end
196
201
  end
@@ -198,7 +203,7 @@ def build_xml(opts, loog)
198
203
  data.map { |_, ms| ms.keys }.flatten.uniq.each do |t|
199
204
  next if t == 'Score'
200
205
  xml.w(id: t) do
201
- vals = data.values.map { |ms| ms[t][:total] }.select { |v| v > 0 }
206
+ vals = data.values.map { |ms| actual(ms[t]) }.select { |v| v > 0 }
202
207
  xml.text(div(vals.inject(&:+), vals.count))
203
208
  end
204
209
  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.25'.freeze
26
+ VERSION = '0.0.28'.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.25
4
+ version: 0.0.28
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