reek 3.6.1 → 3.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/features/command_line_interface/basic_usage.feature +8 -8
- data/features/command_line_interface/options.feature +2 -1
- data/features/command_line_interface/smell_selection.feature +1 -1
- data/features/command_line_interface/smells_count.feature +8 -8
- data/features/command_line_interface/stdin.feature +3 -3
- data/features/configuration_files/directory_specific_directives.feature +9 -9
- data/features/configuration_files/masking_smells.feature +5 -5
- data/features/configuration_loading.feature +6 -6
- data/features/programmatic_access.feature +3 -3
- data/features/rake_task/rake_task.feature +9 -9
- data/features/reports/json.feature +4 -0
- data/features/reports/reports.feature +49 -37
- data/features/reports/yaml.feature +4 -0
- data/features/samples.feature +265 -265
- data/lib/reek/cli/options.rb +5 -4
- data/lib/reek/cli/warning_collector.rb +1 -1
- data/lib/reek/report.rb +2 -1
- data/lib/reek/report/code_climate_formatter.rb +46 -0
- data/lib/reek/report/formatter.rb +13 -8
- data/lib/reek/report/report.rb +12 -0
- data/lib/reek/smells/smell_warning.rb +2 -2
- data/lib/reek/version.rb +1 -1
- data/reek.gemspec +5 -4
- data/spec/reek/report/code_climate_formatter_spec.rb +63 -0
- data/spec/reek/report/code_climate_report_spec.rb +68 -0
- data/spec/reek/report/json_report_spec.rb +18 -18
- data/spec/reek/report/yaml_report_spec.rb +17 -17
- data/spec/reek/smells/smell_warning_spec.rb +11 -11
- data/spec/samples/checkstyle.xml +1 -1
- metadata +20 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abd5004377700bed9881c5ed437ec2a9d19caa23
|
4
|
+
data.tar.gz: 8a4c3835fb589450122e13b4b449413aa93c9bcc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe96cf2b530e92d25370691e3b8584825b9243016639073575817893dd7645a97bee491b8b73d0e04166a86e0602271186744d1b1eeec9285a4abc533fe9e813
|
7
|
+
data.tar.gz: 1b98379f0590f06b76dcc6e8031a4c7fedeca3af08ba3189c516b3e12bf754addc1e2155747807ef48c65569bedaa389ab0d0a4aa8e34fba03b1e0f8cb939a6f
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|
## Unreleased
|
4
4
|
|
5
|
+
## 3.7.0 (2015-11-17)
|
6
|
+
|
7
|
+
* (andyw8) Add Code Climate JSON report format: `--format code_climate`
|
8
|
+
* (chastell) Simplify `text` report format and enable `--wiki-links` by default
|
9
|
+
|
5
10
|
## 3.6.1 (2015-11-13)
|
6
11
|
|
7
12
|
* (mvz) Make UtilityFunction not report methods that call `super` with
|
@@ -10,12 +10,12 @@ Feature: The Reek CLI maintains backwards compatibility
|
|
10
10
|
And it reports:
|
11
11
|
"""
|
12
12
|
demo.rb -- 8 warnings:
|
13
|
-
[
|
14
|
-
[
|
15
|
-
[3]:Dirty#awful has
|
16
|
-
[3]:Dirty#awful has the parameter name 'x'
|
17
|
-
[5]:Dirty#awful has the variable name 'w'
|
18
|
-
[3]:Dirty#awful has unused parameter 'log'
|
19
|
-
[3]:Dirty#awful has unused parameter 'offset'
|
20
|
-
[3]:Dirty#awful has unused parameter 'y'
|
13
|
+
[3]:BooleanParameter: Dirty#awful has boolean parameter 'log' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
|
14
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
15
|
+
[3]:LongParameterList: Dirty#awful has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
|
16
|
+
[3]:UncommunicativeParameterName: Dirty#awful has the parameter name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
|
17
|
+
[5]:UncommunicativeVariableName: Dirty#awful has the variable name 'w' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
|
18
|
+
[3]:UnusedParameters: Dirty#awful has unused parameter 'log' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
|
19
|
+
[3]:UnusedParameters: Dirty#awful has unused parameter 'offset' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
|
20
|
+
[3]:UnusedParameters: Dirty#awful has unused parameter 'y' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
|
21
21
|
"""
|
@@ -40,11 +40,12 @@ Feature: Reek can be controlled using command-line options
|
|
40
40
|
yaml
|
41
41
|
json
|
42
42
|
xml
|
43
|
+
code_climate
|
43
44
|
|
44
45
|
Text format options:
|
45
46
|
--[no-]color Use colors for the output (default: true)
|
46
47
|
-V, --[no-]empty-headings Show headings for smell-free source files (default: false)
|
47
|
-
-U, --[no-]wiki-links Show link to related wiki page for each smell (default:
|
48
|
+
-U, --[no-]wiki-links Show link to related wiki page for each smell (default: true)
|
48
49
|
-n, --[no-]line-numbers Show line numbers in the output (default: true)
|
49
50
|
-s, --single-line Show location in editor-compatible single-line-per-smell format
|
50
51
|
--sort-by SORTING Sort reported files by the given criterium:
|
@@ -11,5 +11,5 @@ Feature: Smell selection
|
|
11
11
|
And it reports:
|
12
12
|
"""
|
13
13
|
smelly.rb -- 1 warning:
|
14
|
-
Smelly#m has the name 'm'
|
14
|
+
UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
15
15
|
"""
|
@@ -9,9 +9,9 @@ Feature: Reports total number of code smells
|
|
9
9
|
And it reports:
|
10
10
|
"""
|
11
11
|
smelly.rb -- 3 warnings:
|
12
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
13
|
-
[4, 5]:Smelly#m calls puts(@foo.bar) 2 times
|
14
|
-
[3]:Smelly#m has the name 'm'
|
12
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
13
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
14
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
15
15
|
"""
|
16
16
|
|
17
17
|
Scenario: Output total number of smells when inspecting multiple files
|
@@ -21,12 +21,12 @@ Feature: Reports total number of code smells
|
|
21
21
|
And it reports:
|
22
22
|
"""
|
23
23
|
smelly/dirty_one.rb -- 2 warnings:
|
24
|
-
[1]:Dirty has no descriptive comment
|
25
|
-
[2]:Dirty#a has the name 'a'
|
24
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
25
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
26
26
|
smelly/dirty_two.rb -- 3 warnings:
|
27
|
-
[1]:Dirty has no descriptive comment
|
28
|
-
[2]:Dirty#a has the name 'a'
|
29
|
-
[3]:Dirty#b has the name 'b'
|
27
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
28
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
29
|
+
[3]:UncommunicativeMethodName: Dirty#b has the name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
30
30
|
5 total warnings
|
31
31
|
"""
|
32
32
|
|
@@ -27,9 +27,9 @@ Feature: Reek reads from $stdin when no files are given
|
|
27
27
|
And it reports:
|
28
28
|
"""
|
29
29
|
STDIN -- 3 warnings:
|
30
|
-
[1]:Turn has no descriptive comment
|
31
|
-
[1]:Turn has the
|
32
|
-
[1]:Turn
|
30
|
+
[1]:IrresponsibleModule: Turn has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
31
|
+
[1]:UncommunicativeMethodName: Turn#y has the name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
32
|
+
[1]:UncommunicativeVariableName: Turn has the variable name '@x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
|
33
33
|
"""
|
34
34
|
|
35
35
|
Scenario: syntax error causes the source to be ignored
|
@@ -50,8 +50,8 @@ Feature: Directory directives
|
|
50
50
|
Then it reports:
|
51
51
|
"""
|
52
52
|
web_app/app/models/user.rb -- 2 warnings:
|
53
|
-
[1]:User has no descriptive comment
|
54
|
-
[2]:User#logged_in_with_role has unused parameter 'r'
|
53
|
+
[1]:IrresponsibleModule: User has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
54
|
+
[2]:UnusedParameters: User#logged_in_with_role has unused parameter 'r' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
|
55
55
|
2 total warnings
|
56
56
|
"""
|
57
57
|
|
@@ -119,10 +119,10 @@ Feature: Directory directives
|
|
119
119
|
Then it reports:
|
120
120
|
"""
|
121
121
|
web_app/app/controllers/users_controller.rb -- 2 warnings:
|
122
|
-
[1]:UsersController has no descriptive comment
|
123
|
-
[4]:UsersController#show contains iterators nested 2 deep
|
122
|
+
[1]:IrresponsibleModule: UsersController has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
123
|
+
[4]:NestedIterators: UsersController#show contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
|
124
124
|
web_app/app/models/user.rb -- 1 warning:
|
125
|
-
[2]:User#logged_in_with_role has unused parameter 'r'
|
125
|
+
[2]:UnusedParameters: User#logged_in_with_role has unused parameter 'r' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
|
126
126
|
3 total warnings
|
127
127
|
"""
|
128
128
|
|
@@ -164,9 +164,9 @@ Feature: Directory directives
|
|
164
164
|
Then it reports:
|
165
165
|
"""
|
166
166
|
other/projects_controller.rb -- 1 warning:
|
167
|
-
[4]:ProjectController#show contains iterators nested 2 deep
|
167
|
+
[4]:NestedIterators: ProjectController#show contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
|
168
168
|
web_app/app/controllers/users_controller.rb -- 1 warning:
|
169
|
-
[1]:UsersController has no descriptive comment
|
169
|
+
[1]:IrresponsibleModule: UsersController has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
170
170
|
2 total warnings
|
171
171
|
"""
|
172
172
|
|
@@ -273,8 +273,8 @@ Feature: Directory directives
|
|
273
273
|
Then it reports:
|
274
274
|
"""
|
275
275
|
foo/bar/baz/klass.rb -- 1 warning:
|
276
|
-
[4]:Klass#meth contains iterators nested 2 deep
|
276
|
+
[4]:NestedIterators: Klass#meth contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
|
277
277
|
foo/bar/klazz.rb -- 1 warning:
|
278
|
-
[1]:Klazz has no descriptive comment
|
278
|
+
[1]:IrresponsibleModule: Klazz has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
279
279
|
2 total warnings
|
280
280
|
"""
|
@@ -30,8 +30,8 @@ Feature: Masking smells using config files
|
|
30
30
|
And it reports:
|
31
31
|
"""
|
32
32
|
smelly.rb -- 2 warnings:
|
33
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
34
|
-
[3]:Smelly#m has the name 'm'
|
33
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
34
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
35
35
|
"""
|
36
36
|
|
37
37
|
Scenario: provide extra masking inline in comments
|
@@ -42,8 +42,8 @@ Feature: Masking smells using config files
|
|
42
42
|
And it reports:
|
43
43
|
"""
|
44
44
|
inline.rb -- 2 warnings:
|
45
|
-
[5]:Dirty has the variable name '@s'
|
46
|
-
[5]:Dirty#a has the variable name 'x'
|
45
|
+
[5]:UncommunicativeVariableName: Dirty has the variable name '@s' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
|
46
|
+
[5]:UncommunicativeVariableName: Dirty#a has the variable name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
|
47
47
|
"""
|
48
48
|
|
49
49
|
Scenario: Disable UtilityFunction for non-public methods
|
@@ -54,6 +54,6 @@ Feature: Masking smells using config files
|
|
54
54
|
And it reports:
|
55
55
|
"""
|
56
56
|
smelly.rb -- 1 warning:
|
57
|
-
[3]:Klass#public_method doesn't depend on instance state (maybe move it to another class?)
|
57
|
+
[3]:UtilityFunction: Klass#public_method doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
|
58
58
|
"""
|
59
59
|
But it does not report private or protected methods
|
@@ -17,9 +17,9 @@ Feature: Offer different ways how to load configuration
|
|
17
17
|
And it reports:
|
18
18
|
"""
|
19
19
|
smelly.rb -- 3 warnings:
|
20
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
21
|
-
[4, 5]:Smelly#m calls puts(@foo.bar) 2 times
|
22
|
-
[3]:Smelly#m has the name 'm'
|
20
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
21
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
22
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
23
23
|
"""
|
24
24
|
|
25
25
|
Scenario: Configuration via CLI
|
@@ -45,7 +45,7 @@ Feature: Offer different ways how to load configuration
|
|
45
45
|
And it reports:
|
46
46
|
"""
|
47
47
|
smelly.rb -- 3 warnings:
|
48
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
49
|
-
[4, 5]:Smelly#m calls puts(@foo.bar) 2 times
|
50
|
-
[3]:Smelly#m has the name 'm'
|
48
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
49
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
50
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
51
51
|
"""
|
@@ -37,7 +37,7 @@ Feature: Using Reek programmatically
|
|
37
37
|
And it reports:
|
38
38
|
"""
|
39
39
|
smelly.rb -- 3 warnings:
|
40
|
-
Smelly#m calls @foo.bar 2 times
|
41
|
-
Smelly#m calls puts(@foo.bar) 2 times
|
42
|
-
Smelly#m has the name 'm'
|
40
|
+
DuplicateMethodCall: Smelly#m calls @foo.bar 2 times
|
41
|
+
DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times
|
42
|
+
UncommunicativeMethodName: Smelly#m has the name 'm'
|
43
43
|
"""
|
@@ -15,9 +15,9 @@ Feature: Reek can be driven through its Task
|
|
15
15
|
And it reports:
|
16
16
|
"""
|
17
17
|
smelly.rb -- 3 warnings:
|
18
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
19
|
-
[4, 5]:Smelly#m calls puts(@foo.bar) 2 times
|
20
|
-
[3]:Smelly#m has the name 'm'
|
18
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
19
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
20
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
21
21
|
"""
|
22
22
|
|
23
23
|
Scenario: name changes the task name
|
@@ -33,9 +33,9 @@ Feature: Reek can be driven through its Task
|
|
33
33
|
And it reports:
|
34
34
|
"""
|
35
35
|
smelly.rb -- 3 warnings:
|
36
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
37
|
-
[4, 5]:Smelly#m calls puts(@foo.bar) 2 times
|
38
|
-
[3]:Smelly#m has the name 'm'
|
36
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
37
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
38
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
39
39
|
"""
|
40
40
|
|
41
41
|
Scenario: verbose prints the reek command
|
@@ -65,9 +65,9 @@ Feature: Reek can be driven through its Task
|
|
65
65
|
And it reports:
|
66
66
|
"""
|
67
67
|
smelly.rb -- 3 warnings:
|
68
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
69
|
-
[4, 5]:Smelly#m calls puts(@foo.bar) 2 times
|
70
|
-
[3]:Smelly#m has the name 'm'
|
68
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
69
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
70
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
71
71
|
"""
|
72
72
|
|
73
73
|
Scenario: can be configured with config_file
|
@@ -26,6 +26,7 @@ Feature: Report smells using simple JSON layout
|
|
26
26
|
"lines": [ 4, 5 ],
|
27
27
|
"message": "calls @foo.bar 2 times",
|
28
28
|
"name": "@foo.bar",
|
29
|
+
"wiki_link": "https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md",
|
29
30
|
"count": 2
|
30
31
|
},
|
31
32
|
{
|
@@ -36,6 +37,7 @@ Feature: Report smells using simple JSON layout
|
|
36
37
|
"lines": [ 4, 5 ],
|
37
38
|
"message": "calls puts(@foo.bar) 2 times",
|
38
39
|
"name": "puts(@foo.bar)",
|
40
|
+
"wiki_link": "https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md",
|
39
41
|
"count": 2
|
40
42
|
},
|
41
43
|
{
|
@@ -45,6 +47,7 @@ Feature: Report smells using simple JSON layout
|
|
45
47
|
"context": "Smelly#m",
|
46
48
|
"lines": [ 3 ],
|
47
49
|
"message": "has the name 'm'",
|
50
|
+
"wiki_link": "https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md",
|
48
51
|
"name": "m"
|
49
52
|
}
|
50
53
|
]
|
@@ -65,6 +68,7 @@ Feature: Report smells using simple JSON layout
|
|
65
68
|
1
|
66
69
|
],
|
67
70
|
"message": "has no descriptive comment",
|
71
|
+
"wiki_link": "https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md",
|
68
72
|
"name": "Turn"
|
69
73
|
}
|
70
74
|
]
|
@@ -10,12 +10,12 @@ Feature: Correctly formatted reports
|
|
10
10
|
And it reports:
|
11
11
|
"""
|
12
12
|
smelly/dirty_one.rb -- 2 warnings:
|
13
|
-
[1]:Dirty has no descriptive comment
|
14
|
-
[2]:Dirty#a has the name 'a'
|
13
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
14
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
15
15
|
smelly/dirty_two.rb -- 3 warnings:
|
16
|
-
[1]:Dirty has no descriptive comment
|
17
|
-
[2]:Dirty#a has the name 'a'
|
18
|
-
[3]:Dirty#b has the name 'b'
|
16
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
17
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
18
|
+
[3]:UncommunicativeMethodName: Dirty#b has the name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
19
19
|
5 total warnings
|
20
20
|
"""
|
21
21
|
|
@@ -31,12 +31,12 @@ Feature: Correctly formatted reports
|
|
31
31
|
And it reports:
|
32
32
|
"""
|
33
33
|
smelly/dirty_one.rb -- 2 warnings:
|
34
|
-
[1]:Dirty has no descriptive comment
|
35
|
-
[2]:Dirty#a has the name 'a'
|
34
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
35
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
36
36
|
smelly/dirty_two.rb -- 3 warnings:
|
37
|
-
[1]:Dirty has no descriptive comment
|
38
|
-
[2]:Dirty#a has the name 'a'
|
39
|
-
[3]:Dirty#b has the name 'b'
|
37
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
38
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
39
|
+
[3]:UncommunicativeMethodName: Dirty#b has the name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
40
40
|
5 total warnings
|
41
41
|
"""
|
42
42
|
|
@@ -53,12 +53,12 @@ Feature: Correctly formatted reports
|
|
53
53
|
And it reports:
|
54
54
|
"""
|
55
55
|
smelly/dirty_two.rb -- 3 warnings:
|
56
|
-
[1]:Dirty has no descriptive comment
|
57
|
-
[2]:Dirty#a has the name 'a'
|
58
|
-
[3]:Dirty#b has the name 'b'
|
56
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
57
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
58
|
+
[3]:UncommunicativeMethodName: Dirty#b has the name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
59
59
|
smelly/dirty_one.rb -- 2 warnings:
|
60
|
-
[1]:Dirty has no descriptive comment
|
61
|
-
[2]:Dirty#a has the name 'a'
|
60
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
61
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
62
62
|
5 total warnings
|
63
63
|
"""
|
64
64
|
|
@@ -114,9 +114,9 @@ Feature: Correctly formatted reports
|
|
114
114
|
And it reports:
|
115
115
|
"""
|
116
116
|
smelly.rb -- 3 warnings:
|
117
|
-
Smelly#m calls @foo.bar 2 times
|
118
|
-
Smelly#m calls puts(@foo.bar) 2 times
|
119
|
-
Smelly#m has the name 'm'
|
117
|
+
DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
118
|
+
DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
119
|
+
UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
120
120
|
"""
|
121
121
|
|
122
122
|
Examples:
|
@@ -132,9 +132,9 @@ Feature: Correctly formatted reports
|
|
132
132
|
And it reports:
|
133
133
|
"""
|
134
134
|
smelly.rb -- 3 warnings:
|
135
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
136
|
-
[4, 5]:Smelly#m calls puts(@foo.bar) 2 times
|
137
|
-
[3]:Smelly#m has the name 'm'
|
135
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
136
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
137
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
138
138
|
"""
|
139
139
|
|
140
140
|
Examples:
|
@@ -150,9 +150,9 @@ Feature: Correctly formatted reports
|
|
150
150
|
And it reports:
|
151
151
|
"""
|
152
152
|
smelly.rb -- 3 warnings:
|
153
|
-
smelly.rb:4: Smelly#m calls @foo.bar 2 times
|
154
|
-
smelly.rb:4: Smelly#m calls puts(@foo.bar) 2 times
|
155
|
-
smelly.rb:3: Smelly#m has the name 'm'
|
153
|
+
smelly.rb:4: DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
154
|
+
smelly.rb:4: DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
155
|
+
smelly.rb:3: UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
156
156
|
"""
|
157
157
|
|
158
158
|
Examples:
|
@@ -169,12 +169,12 @@ Feature: Correctly formatted reports
|
|
169
169
|
And it reports:
|
170
170
|
"""
|
171
171
|
smelly/dirty_one.rb -- 2 warnings:
|
172
|
-
[1]:Dirty has no descriptive comment
|
173
|
-
[2]:Dirty#a has the name 'a'
|
172
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
173
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
174
174
|
smelly/dirty_two.rb -- 3 warnings:
|
175
|
-
[1]:Dirty has no descriptive comment
|
176
|
-
[2]:Dirty#a has the name 'a'
|
177
|
-
[3]:Dirty#b has the name 'b'
|
175
|
+
[1]:IrresponsibleModule: Dirty has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
|
176
|
+
[2]:UncommunicativeMethodName: Dirty#a has the name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
177
|
+
[3]:UncommunicativeMethodName: Dirty#b has the name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
178
178
|
5 total warnings
|
179
179
|
"""
|
180
180
|
|
@@ -190,16 +190,28 @@ Feature: Correctly formatted reports
|
|
190
190
|
And it reports:
|
191
191
|
"""
|
192
192
|
smelly.rb -- 3 warnings:
|
193
|
-
[4, 5]:Smelly#m calls @foo.bar 2 times
|
194
|
-
[4, 5]:Smelly#m calls puts(@foo.bar) 2 times
|
195
|
-
[3]:Smelly#m has the name 'm'
|
193
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
194
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
195
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
196
196
|
"""
|
197
197
|
|
198
198
|
Examples:
|
199
|
-
| option
|
200
|
-
| -U
|
199
|
+
| option |
|
200
|
+
| -U |
|
201
201
|
| --wiki-links |
|
202
202
|
|
203
|
+
Scenario: --no-wiki-links drops links from smell warnings
|
204
|
+
Given a smelly file called 'smelly.rb'
|
205
|
+
When I run reek --no-wiki-links smelly.rb
|
206
|
+
Then the exit status indicates smells
|
207
|
+
And it reports:
|
208
|
+
"""
|
209
|
+
smelly.rb -- 3 warnings:
|
210
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls @foo.bar 2 times
|
211
|
+
[4, 5]:DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times
|
212
|
+
[3]:UncommunicativeMethodName: Smelly#m has the name 'm'
|
213
|
+
"""
|
214
|
+
|
203
215
|
Scenario Outline: --wiki-links is independent of --line-numbers
|
204
216
|
Given a smelly file called 'smelly.rb'
|
205
217
|
When I run reek <option> smelly.rb
|
@@ -207,9 +219,9 @@ Feature: Correctly formatted reports
|
|
207
219
|
And it reports:
|
208
220
|
"""
|
209
221
|
smelly.rb -- 3 warnings:
|
210
|
-
Smelly#m calls @foo.bar 2 times
|
211
|
-
Smelly#m calls puts(@foo.bar) 2 times
|
212
|
-
Smelly#m has the name 'm'
|
222
|
+
DuplicateMethodCall: Smelly#m calls @foo.bar 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
223
|
+
DuplicateMethodCall: Smelly#m calls puts(@foo.bar) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
|
224
|
+
UncommunicativeMethodName: Smelly#m has the name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
|
213
225
|
"""
|
214
226
|
|
215
227
|
Examples:
|