metric_fu 4.1.2 → 4.1.3
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.
- data/.travis.yml +7 -4
- data/.yardopts +5 -0
- data/CONTRIBUTING.md +28 -13
- data/Gemfile +7 -3
- data/HISTORY.md +12 -0
- data/README.md +17 -0
- data/TODO.md +74 -79
- data/lib/metric_fu.rb +8 -0
- data/lib/metric_fu/configuration.rb +8 -3
- data/lib/metric_fu/core_ext.rb +2 -0
- data/lib/metric_fu/core_ext/inflector/inflections.rb +214 -0
- data/lib/metric_fu/core_ext/inflector/methods.rb +153 -0
- data/lib/metric_fu/core_ext/object.rb +3 -0
- data/lib/metric_fu/core_ext/object/blank.rb +106 -0
- data/lib/metric_fu/core_ext/object/to_json.rb +12 -0
- data/lib/metric_fu/core_ext/string.rb +2 -0
- data/lib/metric_fu/core_ext/string/inflections.rb +195 -0
- data/lib/metric_fu/initial_requires.rb +0 -8
- data/lib/metric_fu/metrics/base_template.rb +28 -1
- data/lib/metric_fu/metrics/churn/churn.rb +2 -2
- data/lib/metric_fu/metrics/churn/template_awesome/churn.html.erb +8 -6
- data/lib/metric_fu/metrics/hotspots/analysis/code_issue.rb +6 -0
- data/lib/metric_fu/metrics/hotspots/init.rb +1 -0
- data/lib/metric_fu/reporting/templates/awesome/awesome_template.rb +37 -20
- data/lib/metric_fu/reporting/templates/awesome/css/bluff.css +15 -0
- data/lib/metric_fu/reporting/templates/awesome/css/default.css +0 -48
- data/lib/metric_fu/reporting/templates/awesome/css/rcov.css +32 -0
- data/lib/metric_fu/reporting/templates/awesome/index.html.erb +4 -32
- data/lib/metric_fu/reporting/templates/awesome/layout.html.erb +2 -0
- data/lib/metric_fu/version.rb +1 -1
- data/metric_fu.gemspec +23 -11
- data/spec/cli/helper_spec.rb +38 -28
- data/spec/metric_fu/configuration_spec.rb +35 -22
- data/spec/metric_fu/metrics/base_template_spec.rb +7 -7
- data/spec/metric_fu/metrics/churn/churn_spec.rb +9 -2
- data/spec/metric_fu/metrics/flog/flog_spec.rb +57 -55
- data/spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb +0 -2
- data/spec/run_spec.rb +0 -8
- data/spec/support/suite.rb +3 -1
- metadata +74 -125
- data/home_page/back_all.jpg +0 -0
- data/home_page/cc.rb.gif +0 -0
- data/home_page/churn.gif +0 -0
- data/home_page/cruise_control_1.gif +0 -0
- data/home_page/cyclomatic.gif +0 -0
- data/home_page/flay.gif +0 -0
- data/home_page/flog.gif +0 -0
- data/home_page/flog2.gif +0 -0
- data/home_page/footer.gif +0 -0
- data/home_page/header.jpg +0 -0
- data/home_page/hotspot.gif +0 -0
- data/home_page/img09.gif +0 -0
- data/home_page/index.html +0 -138
- data/home_page/rcov.gif +0 -0
- data/home_page/reek.gif +0 -0
- data/home_page/robots.txt +0 -5
- data/home_page/roodi.gif +0 -0
- data/home_page/saikuro.gif +0 -0
- data/home_page/stats.gif +0 -0
- data/home_page/styles.css +0 -245
- data/home_page/title.gif +0 -0
- data/home_page/title_back.gif +0 -0
- data/lib/metric_fu/metrics/cane/template_standard/cane.html.erb +0 -95
- data/lib/metric_fu/metrics/churn/template_standard/churn.html.erb +0 -31
- data/lib/metric_fu/metrics/flay/template_standard/flay.html.erb +0 -34
- data/lib/metric_fu/metrics/flog/template_standard/flog.html.erb +0 -57
- data/lib/metric_fu/metrics/hotspots/template_standard/hotspots.html.erb +0 -54
- data/lib/metric_fu/metrics/rails_best_practices/template_standard/rails_best_practices.html.erb +0 -29
- data/lib/metric_fu/metrics/rcov/template_standard/rcov.html.erb +0 -43
- data/lib/metric_fu/metrics/reek/template_standard/reek.html.erb +0 -42
- data/lib/metric_fu/metrics/roodi/template_standard/roodi.html.erb +0 -29
- data/lib/metric_fu/metrics/saikuro/template_standard/saikuro.html.erb +0 -84
- data/lib/metric_fu/metrics/stats/template_standard/stats.html.erb +0 -55
- data/lib/metric_fu/reporting/templates/standard/default.css +0 -64
- data/lib/metric_fu/reporting/templates/standard/index.html.erb +0 -44
- data/lib/metric_fu/reporting/templates/standard/standard_template.rb +0 -26
data/home_page/back_all.jpg
DELETED
Binary file
|
data/home_page/cc.rb.gif
DELETED
Binary file
|
data/home_page/churn.gif
DELETED
Binary file
|
Binary file
|
data/home_page/cyclomatic.gif
DELETED
Binary file
|
data/home_page/flay.gif
DELETED
Binary file
|
data/home_page/flog.gif
DELETED
Binary file
|
data/home_page/flog2.gif
DELETED
Binary file
|
data/home_page/footer.gif
DELETED
Binary file
|
data/home_page/header.jpg
DELETED
Binary file
|
data/home_page/hotspot.gif
DELETED
Binary file
|
data/home_page/img09.gif
DELETED
Binary file
|
data/home_page/index.html
DELETED
@@ -1,138 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
5
|
-
<title>metric_fu: A Ruby Gem for Easy Metric Report Generation</title>
|
6
|
-
<meta name="keywords" content="metric_fu rails metrics saikuro flog flay roodi reek cyclomatic complexity rcov coverage gem" />
|
7
|
-
<meta name="description" content="Ruby Gem for Easy Metric Report Generation" />
|
8
|
-
<link href="styles.css" rel="stylesheet" type="text/css" />
|
9
|
-
</head>
|
10
|
-
<body>
|
11
|
-
<div id="main">
|
12
|
-
<!-- header begins -->
|
13
|
-
<div id="header">
|
14
|
-
|
15
|
-
<div id="logo"><a href="#">metric_fu</a></div>
|
16
|
-
<div id="buttons">
|
17
|
-
<ul><li>A Ruby Gem for Easy Metric Report Generation</li></ul>
|
18
|
-
</div>
|
19
|
-
|
20
|
-
</div>
|
21
|
-
<!-- header ends -->
|
22
|
-
<!-- content begins -->
|
23
|
-
<div id="content">
|
24
|
-
<div id="right">
|
25
|
-
<div id="sidebar">
|
26
|
-
<ul>
|
27
|
-
<li>
|
28
|
-
<h2>Links</h2>
|
29
|
-
<ul>
|
30
|
-
<li><a href="http://groups.google.com/group/metric_fu">
|
31
|
-
Google Group
|
32
|
-
</a>
|
33
|
-
</li>
|
34
|
-
<li><a href="http://github.com/metricfu/metric_fu">
|
35
|
-
SCM
|
36
|
-
</a>
|
37
|
-
</li>
|
38
|
-
<li><a href="http://github.com/metricfu/metric_fu/issues">
|
39
|
-
Issue Tracker
|
40
|
-
</a>
|
41
|
-
</li>
|
42
|
-
</li>
|
43
|
-
<li><a href="http://benjaminfleischer.com">
|
44
|
-
Benjamin Fleischer's page (lead developer)
|
45
|
-
</a>
|
46
|
-
</li>
|
47
|
-
<li><a href="http://jakescruggs.blogspot.com/">
|
48
|
-
Jake Scruggs' Blog (original lead developer)
|
49
|
-
</a>
|
50
|
-
</li>
|
51
|
-
</ul>
|
52
|
-
</li>
|
53
|
-
</ul>
|
54
|
-
</div>
|
55
|
-
<!-- end #sidebar -->
|
56
|
-
</div>
|
57
|
-
<div id="left">
|
58
|
-
<h1>About metric_fu</h1>
|
59
|
-
<div>
|
60
|
-
<p><br/>
|
61
|
-
Metric_fu is a set of metric tools that make it easy to generate metrics reports. See <a href="https://github.com/metricfu/metric_fu/tree/master/lib/metric_fu/metrics">the list of metrics the gem includes</a>
|
62
|
-
It's designed to integrate easily with
|
63
|
-
<a href="http://cruisecontrolrb.thoughtworks.com/">CruiseControl.rb</a>
|
64
|
-
by placing files in the Custom Build Artifacts folder.
|
65
|
-
</p>
|
66
|
-
<br/>
|
67
|
-
<p>
|
68
|
-
<h2>For up to date information</h2>
|
69
|
-
For the most frequently updated project information see the <a href="https://github.com/metricfu/metric_fu">github project page</a> or follow the gem on <a href="https://rubygems.org/gems/metric_fu">rubygems.org</a>. This page is no longer up to date.
|
70
|
-
|
71
|
-
See the <a href="https://github.com/metricfu/metric_fu/blob/master/HISTORY.md">Change log</a>
|
72
|
-
</p>
|
73
|
-
<br>
|
74
|
-
<h2>Example Output:</h2>
|
75
|
-
<table>
|
76
|
-
<tr>
|
77
|
-
<td><a href="flog.gif"><img src="flog.gif" width="250"></a></td>
|
78
|
-
<td><a href="flay.gif"><img src="flay.gif" width="250"></a></td>
|
79
|
-
<tr>
|
80
|
-
<td><a href="churn.gif"><img src="churn.gif" width="250"></a></td>
|
81
|
-
<td><a href="saikuro.gif"><img src="saikuro.gif" width="250"></a></td>
|
82
|
-
</tr>
|
83
|
-
<tr>
|
84
|
-
<td><a href="reek.gif"><img src="reek.gif" width="250"></a></td>
|
85
|
-
<td><a href="roodi.gif"><img src="roodi.gif" width="250"></a></td>
|
86
|
-
</tr>
|
87
|
-
<tr>
|
88
|
-
<td><a href="rcov.gif"><img src="rcov.gif" width="250"></a></td>
|
89
|
-
<td><a href="stats.gif"><img src="stats.gif" width="250"></a></td>
|
90
|
-
</tr>
|
91
|
-
</table>
|
92
|
-
|
93
|
-
<br/>
|
94
|
-
<p>Metric_fu began its life as a plugin for Rails that generated code metrics reports. As of version 0.7.0, metric_fu is a gem (owing to the excellent work done by Sean Soper) and is hosted on GitHub at <a href="http://github.com/metricfu/metric_fu">http://github.com/metricfu/metric_fu</a>. </p>
|
95
|
-
<p><br/>
|
96
|
-
<h2>Questions?</h2>
|
97
|
-
<p>Use the Google Group: <a href="http://groups.google.com/group/metric_fu">http://groups.google.com/group/metric_fu</a></p>
|
98
|
-
<br/>
|
99
|
-
<h2>Thanks</h2>
|
100
|
-
I'd like to thank the authors of Saikuro, Subversion, Flog, Rcov, CruiseControl.rb, and Rails for creating such excellent open source products. Also many thanks go to
|
101
|
-
<a href="http://arko.net/">Andre Arko</a>,
|
102
|
-
<a href="http://deheus.net/petrik">Petrik de Heus</a>,
|
103
|
-
<a href="http://seansoper.com/">Sean Soper</a>,
|
104
|
-
<a href="http://www.perilled.com/">Erik St Martin</a>,
|
105
|
-
<a href="http://gregorowicz.blogspot.com/">Andy Gregorowicz</a>,
|
106
|
-
<a href="http://github.com/bastien/">Bastien</a>,
|
107
|
-
<a href="http://schubert.cx/">Michael Schubert</a>,
|
108
|
-
<a href="http://kseebaldt.blogspot.com/">Kurtis Seebaldt</a>,
|
109
|
-
<a href="http://www.workingwithrails.com/person/11263-toby-tripp">Toby Tripp</a>,
|
110
|
-
<a href="http://www.aliaghareza.com">Ali Aghareza</a>,
|
111
|
-
<a href="http://www.pgrs.net/">Paul Gross</a>, and
|
112
|
-
<a href="http://chirdeepshetty.net/">Chirdeep Shetty</a>
|
113
|
-
for their contributions to metric_fu.
|
114
|
-
</p>
|
115
|
-
</div>
|
116
|
-
|
117
|
-
</div>
|
118
|
-
|
119
|
-
</div>
|
120
|
-
</div>
|
121
|
-
<!-- content ends -->
|
122
|
-
<!-- footer begins -->
|
123
|
-
<div id="metamorph2"><div id="footer">
|
124
|
-
<p>Copyright © 2008. Designed by <a href="http://www.metamorphozis.com/" title="Free Web Templates">Free Web Templates</a></p>
|
125
|
-
</div></div>
|
126
|
-
<!-- footer ends -->
|
127
|
-
|
128
|
-
<script type="text/javascript">
|
129
|
-
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
130
|
-
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
131
|
-
</script>
|
132
|
-
<script type="text/javascript">
|
133
|
-
var pageTracker = _gat._getTracker("UA-1908573-3");
|
134
|
-
pageTracker._initData();
|
135
|
-
pageTracker._trackPageview();
|
136
|
-
</script>
|
137
|
-
</body>
|
138
|
-
</html>
|
data/home_page/rcov.gif
DELETED
Binary file
|
data/home_page/reek.gif
DELETED
Binary file
|
data/home_page/robots.txt
DELETED
data/home_page/roodi.gif
DELETED
Binary file
|
data/home_page/saikuro.gif
DELETED
Binary file
|
data/home_page/stats.gif
DELETED
Binary file
|
data/home_page/styles.css
DELETED
@@ -1,245 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Design by Metamorphosis Design
|
3
|
-
http://www.metamorphozis.com
|
4
|
-
Released for free under a Creative Commons Attribution 2.5 License
|
5
|
-
*/
|
6
|
-
|
7
|
-
a:link {
|
8
|
-
color: #3886E0;
|
9
|
-
}
|
10
|
-
|
11
|
-
a:hover, {
|
12
|
-
text-decoration: underline;
|
13
|
-
color: #FF0000;
|
14
|
-
}
|
15
|
-
|
16
|
-
a:visited {
|
17
|
-
color: #3886E0;
|
18
|
-
}
|
19
|
-
|
20
|
-
*
|
21
|
-
{
|
22
|
-
border: 0;
|
23
|
-
margin: 0;
|
24
|
-
}
|
25
|
-
|
26
|
-
body
|
27
|
-
{
|
28
|
-
background: #ffffff url(back_all.jpg) repeat-x top;
|
29
|
-
font: 12px Tahoma, Arial, Helvetica, sans-serif;
|
30
|
-
color: #666666;
|
31
|
-
margin-top: 10px;
|
32
|
-
}
|
33
|
-
|
34
|
-
#main
|
35
|
-
{
|
36
|
-
margin: 0 auto;
|
37
|
-
width: 912px;
|
38
|
-
background: url(table_back.jpg) repeat-y;
|
39
|
-
}
|
40
|
-
|
41
|
-
#header
|
42
|
-
{
|
43
|
-
background: url(header.jpg) no-repeat;
|
44
|
-
width: 912px;
|
45
|
-
height: 262px;
|
46
|
-
}
|
47
|
-
|
48
|
-
#logo
|
49
|
-
{
|
50
|
-
padding-left: 40px;
|
51
|
-
text-align: left;
|
52
|
-
padding-top: 40px;
|
53
|
-
height: 40px;
|
54
|
-
}
|
55
|
-
|
56
|
-
#logo a {
|
57
|
-
text-decoration: none;
|
58
|
-
text-transform: lowercase;
|
59
|
-
font-style: italic;
|
60
|
-
font-size: 16px;
|
61
|
-
color: #000000;
|
62
|
-
font-weight: bold;
|
63
|
-
}
|
64
|
-
|
65
|
-
|
66
|
-
#logo H2 a
|
67
|
-
{
|
68
|
-
font-size: 10px;
|
69
|
-
}
|
70
|
-
|
71
|
-
#buttons
|
72
|
-
{
|
73
|
-
padding-top: 140px;
|
74
|
-
height: 40px;
|
75
|
-
padding-left: 120px;
|
76
|
-
}
|
77
|
-
|
78
|
-
#buttons li {
|
79
|
-
display: inline;
|
80
|
-
display: block;
|
81
|
-
float: left;
|
82
|
-
height: 30px;
|
83
|
-
margin-left: 1px;
|
84
|
-
text-align: center;
|
85
|
-
text-decoration: none;
|
86
|
-
color: #000000;
|
87
|
-
font-weight: bold;
|
88
|
-
font-size: 16px;
|
89
|
-
padding-top: 10px;
|
90
|
-
}
|
91
|
-
|
92
|
-
#buttons a {
|
93
|
-
display: block;
|
94
|
-
float: left;
|
95
|
-
width: 120px;
|
96
|
-
height: 30px;
|
97
|
-
margin-left: 1px;
|
98
|
-
text-align: center;
|
99
|
-
text-decoration: none;
|
100
|
-
color: #000000;
|
101
|
-
font-weight: bold;
|
102
|
-
font-size: 16px;
|
103
|
-
padding-top: 10px;
|
104
|
-
|
105
|
-
}
|
106
|
-
|
107
|
-
#buttons a:hover {
|
108
|
-
text-decoration: underline;
|
109
|
-
color: #FF0000;
|
110
|
-
}
|
111
|
-
|
112
|
-
#content
|
113
|
-
{
|
114
|
-
width: 870px;
|
115
|
-
padding: 15px;
|
116
|
-
}
|
117
|
-
|
118
|
-
#left
|
119
|
-
{
|
120
|
-
width: 580px;
|
121
|
-
padding: 10px;
|
122
|
-
}
|
123
|
-
|
124
|
-
#left H1
|
125
|
-
{
|
126
|
-
color: #99A067;
|
127
|
-
margin: 0;
|
128
|
-
padding: 0;
|
129
|
-
font-size: 24px;
|
130
|
-
}
|
131
|
-
#left H2
|
132
|
-
{
|
133
|
-
color: #99A067;
|
134
|
-
margin: 0;
|
135
|
-
padding: 0;
|
136
|
-
font-size: 18px;
|
137
|
-
padding-top: 10px;
|
138
|
-
}
|
139
|
-
|
140
|
-
#left a
|
141
|
-
{
|
142
|
-
color: #99A067;
|
143
|
-
}
|
144
|
-
|
145
|
-
#left a:hover, {
|
146
|
-
text-decoration: none;
|
147
|
-
color: #FF0000;
|
148
|
-
}
|
149
|
-
|
150
|
-
#left a:visited {
|
151
|
-
color: #99A067;
|
152
|
-
}
|
153
|
-
|
154
|
-
.small
|
155
|
-
{
|
156
|
-
margin: 15px;
|
157
|
-
padding: 5px;
|
158
|
-
border: 1px solid #99A067
|
159
|
-
}
|
160
|
-
|
161
|
-
#right
|
162
|
-
{
|
163
|
-
float: right;
|
164
|
-
width: 254px;
|
165
|
-
}
|
166
|
-
|
167
|
-
#sidebar
|
168
|
-
{
|
169
|
-
width: 254px;
|
170
|
-
}
|
171
|
-
|
172
|
-
#sidebar ul
|
173
|
-
{
|
174
|
-
margin: 0;
|
175
|
-
padding: 0;
|
176
|
-
list-style: none;
|
177
|
-
background: url(title_back.gif) no-repeat;
|
178
|
-
}
|
179
|
-
|
180
|
-
#sidebar li
|
181
|
-
{
|
182
|
-
margin-bottom: 15px;
|
183
|
-
|
184
|
-
}
|
185
|
-
|
186
|
-
#sidebar li ul {
|
187
|
-
padding: 10px;
|
188
|
-
border-top: none;
|
189
|
-
}
|
190
|
-
|
191
|
-
#sidebar li li {
|
192
|
-
margin: 0;
|
193
|
-
padding: 3px 0;
|
194
|
-
}
|
195
|
-
|
196
|
-
|
197
|
-
#sidebar li h2 {
|
198
|
-
height: 34px;
|
199
|
-
margin: 0;
|
200
|
-
padding: 10px 0 0 20px;
|
201
|
-
background: #ffffff url(title.gif) no-repeat;
|
202
|
-
font-size: 18px;
|
203
|
-
color: #000000;
|
204
|
-
}
|
205
|
-
|
206
|
-
#sidebar a:link {
|
207
|
-
text-decoration: none;
|
208
|
-
}
|
209
|
-
|
210
|
-
#sidebar a:hover {
|
211
|
-
text-decoration: underline;
|
212
|
-
}
|
213
|
-
#sidebar a:visited {
|
214
|
-
text-decoration: none;
|
215
|
-
}
|
216
|
-
|
217
|
-
#sidebar li a {
|
218
|
-
padding-left: 10px;
|
219
|
-
background: url(img09.gif) no-repeat 1px 5px;
|
220
|
-
}
|
221
|
-
|
222
|
-
|
223
|
-
#footer
|
224
|
-
{
|
225
|
-
background: url(footer.gif) repeat-x;
|
226
|
-
height: 52px;
|
227
|
-
font-size: 10px;
|
228
|
-
color: #99A067;
|
229
|
-
padding-top: 20px;
|
230
|
-
text-align: center;
|
231
|
-
border-top: #99A067 solid 5px;
|
232
|
-
}
|
233
|
-
|
234
|
-
#footer a
|
235
|
-
{
|
236
|
-
color: #99A067;
|
237
|
-
font-size: 10px;
|
238
|
-
text-decoration: none;
|
239
|
-
}
|
240
|
-
.padding
|
241
|
-
{
|
242
|
-
padding: 10px;
|
243
|
-
color:#FF0000;
|
244
|
-
font-weight: bold;
|
245
|
-
}
|
data/home_page/title.gif
DELETED
Binary file
|
data/home_page/title_back.gif
DELETED
Binary file
|
@@ -1,95 +0,0 @@
|
|
1
|
-
<html>
|
2
|
-
<head>
|
3
|
-
<title>Cane Results</title>
|
4
|
-
<style>
|
5
|
-
<%= inline_css("default.css") %>
|
6
|
-
</style>
|
7
|
-
</head>
|
8
|
-
|
9
|
-
<body>
|
10
|
-
<h1>Cane Results</h1>
|
11
|
-
<a href="index.html">back to menu</a>
|
12
|
-
<h2>Total Violations: <%= @cane[:total_violations] %></h2>
|
13
|
-
<p><a href='https://github.com/square/cane'>Cane</a> reports code quality threshold violations.</p>
|
14
|
-
<% if @cane[:violations][:abc_complexity] && @cane[:violations][:abc_complexity].size > 0 %>
|
15
|
-
<h3>Methods exceeding allowed Abc complexity (<%= @cane[:violations][:abc_complexity].size %>)</h3>
|
16
|
-
<table>
|
17
|
-
<tr>
|
18
|
-
<th>File</th>
|
19
|
-
<th>Method</th>
|
20
|
-
<th>Complexity</th>
|
21
|
-
</tr>
|
22
|
-
<% count = 0 %>
|
23
|
-
<% @cane[:violations][:abc_complexity].each do |violation| %>
|
24
|
-
<tr class='<%= cycle("light", "dark", count) %>'>
|
25
|
-
<td><%=violation[:file]%></td>
|
26
|
-
<td><%=violation[:method]%></td>
|
27
|
-
<td><%=violation[:complexity]%></td>
|
28
|
-
</tr>
|
29
|
-
<% count += 1 %>
|
30
|
-
<% end %>
|
31
|
-
</table>
|
32
|
-
<% end %>
|
33
|
-
<% if @cane[:violations][:line_style] && @cane[:violations][:line_style].size > 0 %>
|
34
|
-
<h3>Lines violating style requirements (<%= @cane[:violations][:line_style].size %>)</h3>
|
35
|
-
<table>
|
36
|
-
<tr>
|
37
|
-
<th>File</th>
|
38
|
-
<th>Description</th>
|
39
|
-
</tr>
|
40
|
-
<% count = 0 %>
|
41
|
-
<% @cane[:violations][:line_style].each do |violation| %>
|
42
|
-
<tr class='<%= cycle("light", "dark", count) %>'>
|
43
|
-
<td><%=violation[:line]%></td>
|
44
|
-
<td><%=violation[:description]%></td>
|
45
|
-
</tr>
|
46
|
-
<% count += 1 %>
|
47
|
-
<% end %>
|
48
|
-
</table>
|
49
|
-
<% end %>
|
50
|
-
<% if @cane[:violations][:documentation] && @cane[:violations][:documentation].size > 0 %>
|
51
|
-
<h3>Missing documentation (<%= @cane[:violations][:documentation].size %>)</h3>
|
52
|
-
<table>
|
53
|
-
<tr>
|
54
|
-
<th>Description</th>
|
55
|
-
</tr>
|
56
|
-
<% @cane[:violations][:documentation].each do |violation| %>
|
57
|
-
<tr>
|
58
|
-
<td><%=violation[:description]%></td>
|
59
|
-
</tr>
|
60
|
-
<% end %>
|
61
|
-
</table>
|
62
|
-
<% end %>
|
63
|
-
<% if @cane[:violations][:comment] && @cane[:violations][:comment].size > 0 %>
|
64
|
-
<h3>Class definitions requiring comments (<%= @cane[:violations][:comment].size %>)</h3>
|
65
|
-
<table>
|
66
|
-
<tr>
|
67
|
-
<th>File</th>
|
68
|
-
<th>Description</th>
|
69
|
-
</tr>
|
70
|
-
<% count = 0 %>
|
71
|
-
<% @cane[:violations][:comment].each do |violation| %>
|
72
|
-
<tr class='<%= cycle("light", "dark", count) %>'>
|
73
|
-
<td><%=violation[:line]%></td>
|
74
|
-
<td><%=violation[:class_name]%></td>
|
75
|
-
</tr>
|
76
|
-
<% count += 1 %>
|
77
|
-
<% end %>
|
78
|
-
</table>
|
79
|
-
<% end %>
|
80
|
-
<% if @cane[:violations][:others] && @cane[:violations][:others].size > 0 %>
|
81
|
-
<h3>Others (<%= @cane[:violations][:others].size %>)</h3>
|
82
|
-
<table>
|
83
|
-
<tr>
|
84
|
-
<th>Description</th>
|
85
|
-
</tr>
|
86
|
-
<% @cane[:violations][:others].each do |violation| %>
|
87
|
-
<tr>
|
88
|
-
<td><%=violation[:description]%></td>
|
89
|
-
</tr>
|
90
|
-
<% end %>
|
91
|
-
</table>
|
92
|
-
<% end %>
|
93
|
-
<p>Generated on <%= Time.now.localtime %></p>
|
94
|
-
</body>
|
95
|
-
</html>
|