cobench 0.0.22 → 0.0.25
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 +4 -4
- data/assets/index.xsl +58 -15
- data/bin/cobench +44 -3
- data/lib/cobench/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d819cbcfb4db70f384f27e82168b629ff4d5b1da9846edcbde2f2ebea965f86
|
4
|
+
data.tar.gz: 8fd71ec9c615bc21e6b33c6ee2b1b30d3e45f6e5c6ca3bcf64b04051861253d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebd6470d05c7883710c2d0b8197e559a9d2fb9c250b290ce6b7ba474b5363d129e67ae8a147f743324f6252d4d3d302e1acf4240cce5f2dbaca6d4397fe78b0d
|
7
|
+
data.tar.gz: c0675ef02071fb68f066e61c66184fcc4010685ce442b1345b7c9a16a40f9f187bc23428a689a4a41252dd2493df806d5eb782147c11c2c9fc1410537392f3af
|
data/assets/index.xsl
CHANGED
@@ -67,8 +67,14 @@ SOFTWARE.
|
|
67
67
|
</header>
|
68
68
|
<article>
|
69
69
|
<table id="metrics">
|
70
|
-
<
|
70
|
+
<thead>
|
71
|
+
<xsl:apply-templates select="cobench/titles"/>
|
72
|
+
</thead>
|
71
73
|
<xsl:apply-templates select="cobench/coders"/>
|
74
|
+
<tfoot>
|
75
|
+
<xsl:apply-templates select="cobench/totals"/>
|
76
|
+
<xsl:apply-templates select="cobench/averages"/>
|
77
|
+
</tfoot>
|
72
78
|
</table>
|
73
79
|
</article>
|
74
80
|
<footer>
|
@@ -133,6 +139,19 @@ SOFTWARE.
|
|
133
139
|
</xsl:for-each>
|
134
140
|
<xsl:text>.</xsl:text>
|
135
141
|
</p>
|
142
|
+
<p>
|
143
|
+
<xsl:for-each select="cobench/titles/title[@subtitle]">
|
144
|
+
<xsl:if test="position() > 1">
|
145
|
+
<xsl:text>, </xsl:text>
|
146
|
+
</xsl:if>
|
147
|
+
<xsl:text>"</xsl:text>
|
148
|
+
<xsl:value-of select="."/>
|
149
|
+
<xsl:text>"</xsl:text>
|
150
|
+
<xsl:text> stands for </xsl:text>
|
151
|
+
<xsl:value-of select="@subtitle"/>
|
152
|
+
</xsl:for-each>
|
153
|
+
<xsl:text>.</xsl:text>
|
154
|
+
</p>
|
136
155
|
<p>
|
137
156
|
<xsl:text>The numbers you see reflect the activity of the last </xsl:text>
|
138
157
|
<b>
|
@@ -153,18 +172,42 @@ SOFTWARE.
|
|
153
172
|
</html>
|
154
173
|
</xsl:template>
|
155
174
|
<xsl:template match="cobench/titles">
|
156
|
-
<
|
157
|
-
<
|
158
|
-
|
159
|
-
|
160
|
-
<xsl:
|
161
|
-
|
162
|
-
<
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
175
|
+
<tr>
|
176
|
+
<th/>
|
177
|
+
<th/>
|
178
|
+
<xsl:for-each select="title[generate-id() = generate-id(key('titles', .)[1])]">
|
179
|
+
<xsl:sort select="."/>
|
180
|
+
<th class="sorter num">
|
181
|
+
<xsl:value-of select="."/>
|
182
|
+
</th>
|
183
|
+
</xsl:for-each>
|
184
|
+
</tr>
|
185
|
+
</xsl:template>
|
186
|
+
<xsl:template match="cobench/totals">
|
187
|
+
<xsl:variable name="totals" select="."/>
|
188
|
+
<tr>
|
189
|
+
<td colspan="2" style="text-align:right">Total:</td>
|
190
|
+
<xsl:for-each select="/cobench/titles/title[generate-id() = generate-id(key('titles', .)[1])]">
|
191
|
+
<xsl:sort select="."/>
|
192
|
+
<xsl:variable name="t" select="."/>
|
193
|
+
<td class="num">
|
194
|
+
<xsl:value-of select="$totals/w[@id=$t]"/>
|
195
|
+
</td>
|
196
|
+
</xsl:for-each>
|
197
|
+
</tr>
|
198
|
+
</xsl:template>
|
199
|
+
<xsl:template match="cobench/averages">
|
200
|
+
<xsl:variable name="averages" select="."/>
|
201
|
+
<tr>
|
202
|
+
<td colspan="2" style="text-align:right">Average:</td>
|
203
|
+
<xsl:for-each select="/cobench/titles/title[generate-id() = generate-id(key('titles', .)[1])]">
|
204
|
+
<xsl:sort select="."/>
|
205
|
+
<xsl:variable name="t" select="."/>
|
206
|
+
<td class="num">
|
207
|
+
<xsl:value-of select="$averages/w[@id=$t]"/>
|
208
|
+
</td>
|
209
|
+
</xsl:for-each>
|
210
|
+
</tr>
|
168
211
|
</xsl:template>
|
169
212
|
<xsl:template match="cobench/coders">
|
170
213
|
<tbody>
|
@@ -211,11 +254,11 @@ SOFTWARE.
|
|
211
254
|
<xsl:choose>
|
212
255
|
<xsl:when test="@actual">
|
213
256
|
<span class="firebrick">
|
214
|
-
<xsl:
|
257
|
+
<xsl:copy-of select="$body"/>
|
215
258
|
</span>
|
216
259
|
</xsl:when>
|
217
260
|
<xsl:otherwise>
|
218
|
-
<xsl:
|
261
|
+
<xsl:copy-of select="$body"/>
|
219
262
|
</xsl:otherwise>
|
220
263
|
</xsl:choose>
|
221
264
|
<xsl:if test="@actual">
|
data/bin/cobench
CHANGED
@@ -74,6 +74,11 @@ 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
|
+
|
77
82
|
def build_xml(opts, loog)
|
78
83
|
if opts.token?
|
79
84
|
api = Octokit::Client.new(:access_token => opts[:token])
|
@@ -121,7 +126,7 @@ def build_xml(opts, loog)
|
|
121
126
|
end
|
122
127
|
end
|
123
128
|
caps = {
|
124
|
-
'HoC' => lambda { |ms| ms['
|
129
|
+
'HoC' => lambda { |ms| ms['Pulls'][:total] * 1024 },
|
125
130
|
}
|
126
131
|
data.each do |u, ms|
|
127
132
|
ms.map do |t, h|
|
@@ -148,17 +153,53 @@ def build_xml(opts, loog)
|
|
148
153
|
end.inject(0, :+)
|
149
154
|
data[u]['Score'] = { total: score }
|
150
155
|
end
|
156
|
+
averages = {
|
157
|
+
'HpP': {
|
158
|
+
f: lambda { |ms| div(ms['HoC'][:total], ms['Pulls'][:total]) },
|
159
|
+
title: 'HoC per Pull'
|
160
|
+
},
|
161
|
+
'HpC': {
|
162
|
+
f: lambda { |ms| div(ms['HoC'][:total], ms['Commits'][:total]) },
|
163
|
+
title: 'HoC per Commit'
|
164
|
+
}
|
165
|
+
}
|
166
|
+
data.each do |u, ms|
|
167
|
+
averages.each do |k, a|
|
168
|
+
data[u][k] = { total: a[:f].call(ms) }
|
169
|
+
end
|
170
|
+
end
|
151
171
|
builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
152
172
|
xml.cobench(time: Time.now, days: opts[:days]) do
|
153
173
|
xml.titles do
|
154
174
|
data.map { |_, ms| ms.keys }.flatten.uniq.each do |t|
|
155
|
-
xml.title
|
175
|
+
xml.title do
|
176
|
+
xml.parent.set_attribute('subtitle', averages[t][:title]) if averages.key?(t)
|
177
|
+
xml.text t
|
178
|
+
end
|
156
179
|
end
|
157
180
|
end
|
158
181
|
xml.weights do
|
159
182
|
weights.each do |t, w|
|
160
183
|
xml.w(id: t) do
|
161
|
-
xml.text
|
184
|
+
xml.text(w)
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
188
|
+
xml.totals do
|
189
|
+
data.map { |_, ms| ms.keys }.flatten.uniq.each do |t|
|
190
|
+
next if t == 'Score'
|
191
|
+
next if averages.key?(t)
|
192
|
+
xml.w(id: t) do
|
193
|
+
xml.text(data.values.map { |ms| ms[t][:total] }.inject(&:+))
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
xml.averages do
|
198
|
+
data.map { |_, ms| ms.keys }.flatten.uniq.each do |t|
|
199
|
+
next if t == 'Score'
|
200
|
+
xml.w(id: t) do
|
201
|
+
vals = data.values.map { |ms| ms[t][:total] }.select { |v| v > 0 }
|
202
|
+
xml.text(div(vals.inject(&:+), vals.count))
|
162
203
|
end
|
163
204
|
end
|
164
205
|
end
|
data/lib/cobench/version.rb
CHANGED
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.
|
4
|
+
version: 0.0.25
|
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-
|
11
|
+
date: 2022-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|