reek 4.8.1 → 4.8.2
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/README.md +3 -3
- data/docs/Instance-Variable-Assumption.md +1 -1
- data/docs/Uncommunicative-Method-Name.md +2 -2
- data/docs/Uncommunicative-Module-Name.md +1 -1
- data/docs/Uncommunicative-Parameter-Name.md +1 -1
- data/features/command_line_interface/basic_usage.feature +2 -2
- data/features/command_line_interface/options.feature +1 -1
- data/features/command_line_interface/show_progress.feature +4 -4
- data/features/command_line_interface/smell_selection.feature +1 -1
- data/features/command_line_interface/smells_count.feature +6 -6
- data/features/command_line_interface/stdin.feature +5 -5
- data/features/configuration_files/accept_setting.feature +6 -6
- data/features/configuration_files/directory_specific_directives.feature +20 -20
- data/features/configuration_files/exclude_directives.feature +3 -3
- data/features/configuration_files/exclude_paths_directives.feature +4 -4
- data/features/configuration_files/masking_smells.feature +4 -4
- data/features/configuration_files/mix_accept_reject_setting.feature +7 -7
- data/features/configuration_files/reject_setting.feature +12 -12
- data/features/configuration_files/unused_private_method.feature +4 -4
- data/features/configuration_loading.feature +3 -3
- data/features/configuration_via_source_comments/erroneous_source_comments.feature +2 -2
- data/features/configuration_via_source_comments/well_formed_source_comments.feature +2 -2
- data/features/locales.feature +2 -2
- data/features/rake_task/rake_task.feature +15 -15
- data/features/reports/json.feature +1 -4
- data/features/reports/reports.feature +26 -26
- data/features/reports/yaml.feature +0 -3
- data/features/samples.feature +287 -287
- data/features/support/env.rb +2 -2
- data/features/todo_list.feature +10 -10
- data/lib/reek/cli/options.rb +2 -1
- data/lib/reek/documentation_link.rb +28 -0
- data/lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb +3 -2
- data/lib/reek/errors/bad_detector_in_comment_error.rb +3 -2
- data/lib/reek/errors/garbage_detector_configuration_in_comment_error.rb +3 -2
- data/lib/reek/report/code_climate/code_climate_configuration.yml +1 -1
- data/lib/reek/report/formatter/wiki_link_warning_formatter.rb +2 -15
- data/lib/reek/smell_detectors/feature_envy.rb +1 -0
- data/lib/reek/smell_warning.rb +5 -0
- data/lib/reek/version.rb +1 -1
- data/spec/reek/documentation_link_spec.rb +20 -0
- data/spec/reek/report/json_report_spec.rb +2 -2
- data/spec/reek/report/yaml_report_spec.rb +2 -2
- data/spec/reek/smell_detectors/feature_envy_spec.rb +45 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8688a1d76cc81f34b630798bdd47068e760e4a397548747194edb5e6bb42d255
|
4
|
+
data.tar.gz: 850489fdbab5642d489eebae9427c5028dff6093f29551f322a44201ace1142e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8dd0a801d1ea96549e942b90d1a8552786a0b6b4d9ef1febaec2abdeb77bc747ece35d31b3ca4cf97108a268e6b2edabb4e02959c2aed72cd3d4469d5d078b4d
|
7
|
+
data.tar.gz: 2d8f97017347131099c498b3dd744459bd0e7e729c29e4c274f4ed8cc5487b520402787c1ae7cc88d276597117a7ee1521cc496998ec7f805a644e0929b12bc8
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -84,13 +84,13 @@ end
|
|
84
84
|
Reek will report the following code smells in this file:
|
85
85
|
|
86
86
|
```
|
87
|
-
$ reek demo.rb
|
87
|
+
$ reek --no-wiki-links demo.rb
|
88
88
|
Inspecting 1 file(s):
|
89
89
|
S
|
90
90
|
|
91
91
|
demo.rb -- 2 warnings:
|
92
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
93
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
92
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
93
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
94
94
|
```
|
95
95
|
|
96
96
|
## Supported Ruby versions
|
@@ -61,7 +61,7 @@ end
|
|
61
61
|
would report:
|
62
62
|
|
63
63
|
```Bash
|
64
|
-
[1]:InstanceVariableAssumption: Dummy assumes too much for instance variable @ivar
|
64
|
+
[1]:InstanceVariableAssumption: Dummy assumes too much for instance variable @ivar
|
65
65
|
```
|
66
66
|
|
67
67
|
Note that this example would trigger this smell warning as well:
|
@@ -50,6 +50,6 @@ Reek would report:
|
|
50
50
|
|
51
51
|
```
|
52
52
|
smelly.rb -- 2 warnings:
|
53
|
-
[4]:UncommunicativeMethodName: awesome_helper has the name 'awesome_helper'
|
54
|
-
[3]:UncommunicativeMethodName: foobar has the name 'foobar'
|
53
|
+
[4]:UncommunicativeMethodName: awesome_helper has the name 'awesome_helper'
|
54
|
+
[3]:UncommunicativeMethodName: foobar has the name 'foobar'
|
55
55
|
```
|
@@ -46,5 +46,5 @@ Reek would report:
|
|
46
46
|
|
47
47
|
```
|
48
48
|
smelly.rb -- 1 warning:
|
49
|
-
[3]:UncommunicativeModuleName: BaseHelper has the name 'BaseHelper'
|
49
|
+
[3]:UncommunicativeModuleName: BaseHelper has the name 'BaseHelper'
|
50
50
|
```
|
@@ -48,5 +48,5 @@ Reek would report:
|
|
48
48
|
|
49
49
|
```
|
50
50
|
smelly.rb -- 1 warning:
|
51
|
-
[3]:UncommunicativeParameterName: omg has the parameter name 'foobar'
|
51
|
+
[3]:UncommunicativeParameterName: omg has the parameter name 'foobar'
|
52
52
|
```
|
@@ -10,6 +10,6 @@ Feature: The Reek CLI maintains backwards compatibility
|
|
10
10
|
And it reports:
|
11
11
|
"""
|
12
12
|
smelly.rb -- 2 warnings:
|
13
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
14
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
13
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
14
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
15
15
|
"""
|
@@ -43,7 +43,7 @@ Feature: Reek can be controlled using command-line options
|
|
43
43
|
-c, --config FILE Read configuration options from FILE
|
44
44
|
--smell SMELL Only look for a specific smell.
|
45
45
|
Call it like this: reek --smell PrimaDonnaMethod source.rb
|
46
|
-
Check out https://github.com/troessner/reek/blob/
|
46
|
+
Check out https://github.com/troessner/reek/blob/v4.8.1/docs/Code-Smells.md for a list of smells
|
47
47
|
|
48
48
|
Generate a todo list:
|
49
49
|
-t, --todo Generate a todo list
|
@@ -15,8 +15,8 @@ Feature: Show progress
|
|
15
15
|
.S
|
16
16
|
|
17
17
|
mixed_files/dirty.rb -- 2 warnings:
|
18
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
19
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
18
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
19
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
20
20
|
2 total warnings
|
21
21
|
"""
|
22
22
|
|
@@ -27,7 +27,7 @@ Feature: Show progress
|
|
27
27
|
And it reports:
|
28
28
|
"""
|
29
29
|
mixed_files/dirty.rb -- 2 warnings:
|
30
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
31
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
30
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
31
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
32
32
|
2 total warnings
|
33
33
|
"""
|
@@ -11,5 +11,5 @@ Feature: Smell selection
|
|
11
11
|
And it reports:
|
12
12
|
"""
|
13
13
|
smelly.rb -- 1 warning:
|
14
|
-
UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
14
|
+
UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
15
15
|
"""
|
@@ -9,8 +9,8 @@ Feature: Reports total number of code smells
|
|
9
9
|
And it reports:
|
10
10
|
"""
|
11
11
|
smelly.rb -- 2 warnings:
|
12
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
13
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
12
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
13
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
14
14
|
"""
|
15
15
|
|
16
16
|
Scenario: Output total number of smells when inspecting multiple files
|
@@ -20,11 +20,11 @@ Feature: Reports total number of code smells
|
|
20
20
|
And it reports:
|
21
21
|
"""
|
22
22
|
smelly/dirty_one.rb -- 2 warnings:
|
23
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
24
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
23
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
24
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
25
25
|
smelly/dirty_two.rb -- 2 warnings:
|
26
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
27
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
26
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
27
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
28
28
|
4 total warnings
|
29
29
|
"""
|
30
30
|
|
@@ -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]:IrresponsibleModule: Turn has no descriptive comment
|
31
|
-
[1]:UncommunicativeMethodName: Turn#y has the name 'y'
|
32
|
-
[1]:UncommunicativeVariableName: Turn has the variable name '@x'
|
30
|
+
[1]:IrresponsibleModule: Turn has no descriptive comment
|
31
|
+
[1]:UncommunicativeMethodName: Turn#y has the name 'y'
|
32
|
+
[1]:UncommunicativeVariableName: Turn has the variable name '@x'
|
33
33
|
"""
|
34
34
|
|
35
35
|
Scenario: syntax error causes the source to be ignored
|
@@ -38,6 +38,6 @@ Feature: Reek reads from $stdin when no files are given
|
|
38
38
|
And it reports:
|
39
39
|
"""
|
40
40
|
STDIN -- 2 warnings:
|
41
|
-
[2]:Syntax: This file has unexpected token $end
|
42
|
-
[1]:Syntax: This file has unexpected token tEQL
|
41
|
+
[2]:Syntax: This file has unexpected token $end
|
42
|
+
[1]:Syntax: This file has unexpected token tEQL
|
43
43
|
"""
|
@@ -30,12 +30,12 @@ Feature: `accept` configuration setting
|
|
30
30
|
def m3(a3); a3; end
|
31
31
|
end
|
32
32
|
"""
|
33
|
-
When I run
|
33
|
+
When I run reek -c config.reek smelly.rb
|
34
34
|
Then it reports:
|
35
35
|
"""
|
36
36
|
smelly.rb -- 2 warnings:
|
37
|
-
[8]:UncommunicativeMethodName: C1#m3 has the name 'm3'
|
38
|
-
[8]:UncommunicativeParameterName: C1#m3 has the parameter name 'a3'
|
37
|
+
[8]:UncommunicativeMethodName: C1#m3 has the name 'm3'
|
38
|
+
[8]:UncommunicativeParameterName: C1#m3 has the parameter name 'a3'
|
39
39
|
"""
|
40
40
|
|
41
41
|
Scenario: Accept regexes as list and as single item
|
@@ -61,10 +61,10 @@ Feature: `accept` configuration setting
|
|
61
61
|
def m2(a2); a2; end
|
62
62
|
end
|
63
63
|
"""
|
64
|
-
When I run
|
64
|
+
When I run reek -c config.reek smelly.rb
|
65
65
|
Then it reports:
|
66
66
|
"""
|
67
67
|
smelly.rb -- 2 warnings:
|
68
|
-
[6]:UncommunicativeMethodName: Classy1#m2 has the name 'm2'
|
69
|
-
[6]:UncommunicativeParameterName: Classy1#m2 has the parameter name 'a2'
|
68
|
+
[6]:UncommunicativeMethodName: Classy1#m2 has the name 'm2'
|
69
|
+
[6]:UncommunicativeParameterName: Classy1#m2 has the parameter name 'a2'
|
70
70
|
"""
|
@@ -46,14 +46,14 @@ Feature: Directory directives
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
"""
|
49
|
-
When I run
|
49
|
+
When I run reek -c web_app/config.reek web_app/
|
50
50
|
Then it reports:
|
51
51
|
"""
|
52
52
|
web_app/app/controllers/users_controller.rb -- 1 warning:
|
53
|
-
[1]:InstanceVariableAssumption: UsersController assumes too much for instance variable '@user'
|
53
|
+
[1]:InstanceVariableAssumption: UsersController assumes too much for instance variable '@user'
|
54
54
|
web_app/app/models/user.rb -- 2 warnings:
|
55
|
-
[1]:IrresponsibleModule: User has no descriptive comment
|
56
|
-
[2]:UnusedParameters: User#logged_in_with_role has unused parameter 'role'
|
55
|
+
[1]:IrresponsibleModule: User has no descriptive comment
|
56
|
+
[2]:UnusedParameters: User#logged_in_with_role has unused parameter 'role'
|
57
57
|
3 total warnings
|
58
58
|
"""
|
59
59
|
|
@@ -72,7 +72,7 @@ Feature: Directory directives
|
|
72
72
|
end
|
73
73
|
end
|
74
74
|
"""
|
75
|
-
When I run
|
75
|
+
When I run reek -c web_app/config.reek controllers
|
76
76
|
Then it reports nothing
|
77
77
|
|
78
78
|
Scenario: Partially mask smells in different directories
|
@@ -117,15 +117,15 @@ Feature: Directory directives
|
|
117
117
|
end
|
118
118
|
end
|
119
119
|
"""
|
120
|
-
When I run
|
120
|
+
When I run reek -c web_app/config.reek web_app/
|
121
121
|
Then it reports:
|
122
122
|
"""
|
123
123
|
web_app/app/controllers/users_controller.rb -- 3 warnings:
|
124
|
-
[1]:InstanceVariableAssumption: UsersController assumes too much for instance variable '@user'
|
125
|
-
[1]:IrresponsibleModule: UsersController has no descriptive comment
|
126
|
-
[4]:NestedIterators: UsersController#show contains iterators nested 2 deep
|
124
|
+
[1]:InstanceVariableAssumption: UsersController assumes too much for instance variable '@user'
|
125
|
+
[1]:IrresponsibleModule: UsersController has no descriptive comment
|
126
|
+
[4]:NestedIterators: UsersController#show contains iterators nested 2 deep
|
127
127
|
web_app/app/models/user.rb -- 1 warning:
|
128
|
-
[2]:UnusedParameters: User#logged_in_with_role has unused parameter 'role'
|
128
|
+
[2]:UnusedParameters: User#logged_in_with_role has unused parameter 'role'
|
129
129
|
4 total warnings
|
130
130
|
"""
|
131
131
|
|
@@ -163,15 +163,15 @@ Feature: Directory directives
|
|
163
163
|
end
|
164
164
|
end
|
165
165
|
"""
|
166
|
-
When I run
|
166
|
+
When I run reek -c config.reek other/ web_app/
|
167
167
|
Then it reports:
|
168
168
|
"""
|
169
169
|
other/projects_controller.rb -- 2 warnings:
|
170
|
-
[1]:InstanceVariableAssumption: ProjectController assumes too much for instance variable '@project'
|
171
|
-
[4]:NestedIterators: ProjectController#show contains iterators nested 2 deep
|
170
|
+
[1]:InstanceVariableAssumption: ProjectController assumes too much for instance variable '@project'
|
171
|
+
[4]:NestedIterators: ProjectController#show contains iterators nested 2 deep
|
172
172
|
web_app/app/controllers/users_controller.rb -- 2 warnings:
|
173
|
-
[1]:InstanceVariableAssumption: UsersController assumes too much for instance variable '@user'
|
174
|
-
[1]:IrresponsibleModule: UsersController has no descriptive comment
|
173
|
+
[1]:InstanceVariableAssumption: UsersController assumes too much for instance variable '@user'
|
174
|
+
[1]:IrresponsibleModule: UsersController has no descriptive comment
|
175
175
|
4 total warnings
|
176
176
|
"""
|
177
177
|
|
@@ -190,7 +190,7 @@ Feature: Directory directives
|
|
190
190
|
end
|
191
191
|
"""
|
192
192
|
|
193
|
-
When I run
|
193
|
+
When I run reek -c config.reek dummy_directory/
|
194
194
|
Then the exit status indicates an error
|
195
195
|
And stderr reports:
|
196
196
|
"""
|
@@ -213,7 +213,7 @@ Feature: Directory directives
|
|
213
213
|
class Dummy
|
214
214
|
end
|
215
215
|
"""
|
216
|
-
When I run
|
216
|
+
When I run reek -c config.reek dummy_directory/
|
217
217
|
Then the exit status indicates an error
|
218
218
|
And stderr reports:
|
219
219
|
"""
|
@@ -258,12 +258,12 @@ Feature: Directory directives
|
|
258
258
|
end
|
259
259
|
end
|
260
260
|
"""
|
261
|
-
When I run
|
261
|
+
When I run reek -c config.reek foo/
|
262
262
|
Then it reports:
|
263
263
|
"""
|
264
264
|
foo/bar/baz/klass.rb -- 1 warning:
|
265
|
-
[4]:NestedIterators: Klass#meth contains iterators nested 2 deep
|
265
|
+
[4]:NestedIterators: Klass#meth contains iterators nested 2 deep
|
266
266
|
foo/bar/klazz.rb -- 1 warning:
|
267
|
-
[1]:IrresponsibleModule: Klazz has no descriptive comment
|
267
|
+
[1]:IrresponsibleModule: Klazz has no descriptive comment
|
268
268
|
2 total warnings
|
269
269
|
"""
|
@@ -25,10 +25,10 @@ Feature: Exclude directives
|
|
25
25
|
def foobar; end # Should not report UnusedPrivateMethod
|
26
26
|
end
|
27
27
|
"""
|
28
|
-
When I run
|
28
|
+
When I run reek -c config.reek smelly.rb
|
29
29
|
Then it reports:
|
30
30
|
"""
|
31
31
|
smelly.rb -- 2 warnings:
|
32
|
-
[1]:IrresponsibleModule: Smelly has no descriptive comment
|
33
|
-
[3]:UnusedParameters: Smelly#foo has unused parameter 'arg'
|
32
|
+
[1]:IrresponsibleModule: Smelly has no descriptive comment
|
33
|
+
[3]:UnusedParameters: Smelly#foo has unused parameter 'arg'
|
34
34
|
"""
|
@@ -11,7 +11,7 @@ Feature: Exclude paths directives
|
|
11
11
|
def alfa(bravo); end
|
12
12
|
end
|
13
13
|
"""
|
14
|
-
When I run
|
14
|
+
When I run reek .
|
15
15
|
Then the exit status indicates smells
|
16
16
|
Given a file named "config.reek" with:
|
17
17
|
"""
|
@@ -19,7 +19,7 @@ Feature: Exclude paths directives
|
|
19
19
|
exclude_paths:
|
20
20
|
- bad_files_live_here
|
21
21
|
"""
|
22
|
-
When I run
|
22
|
+
When I run reek -c config.reek .
|
23
23
|
Then it succeeds
|
24
24
|
And it reports nothing
|
25
25
|
Scenario: Using a file name within an excluded directory
|
@@ -36,8 +36,8 @@ Feature: Exclude paths directives
|
|
36
36
|
exclude_paths:
|
37
37
|
- bad_files_live_here
|
38
38
|
"""
|
39
|
-
When I run
|
39
|
+
When I run reek -c config.reek bad_files_live_here/smelly.rb
|
40
40
|
Then the exit status indicates smells
|
41
|
-
When I run
|
41
|
+
When I run reek -c config.reek --force-exclusion bad_files_live_here/smelly.rb
|
42
42
|
Then it succeeds
|
43
43
|
And it reports nothing
|
@@ -30,7 +30,7 @@ Feature: Masking smells using config files
|
|
30
30
|
And it reports:
|
31
31
|
"""
|
32
32
|
smelly.rb -- 1 warning:
|
33
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
33
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
34
34
|
"""
|
35
35
|
|
36
36
|
Scenario: provide extra masking inline in comments
|
@@ -48,8 +48,8 @@ Feature: Masking smells using config files
|
|
48
48
|
And it reports:
|
49
49
|
"""
|
50
50
|
smelly.rb -- 2 warnings:
|
51
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
52
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
51
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x'
|
52
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
|
53
53
|
"""
|
54
54
|
|
55
55
|
Scenario: Disable UtilityFunction for non-public methods
|
@@ -60,6 +60,6 @@ Feature: Masking smells using config files
|
|
60
60
|
And it reports:
|
61
61
|
"""
|
62
62
|
smelly_with_modifiers.rb -- 1 warning:
|
63
|
-
[7]:UtilityFunction: Klass#public_method doesn't depend on instance state (maybe move it to another class?)
|
63
|
+
[7]:UtilityFunction: Klass#public_method doesn't depend on instance state (maybe move it to another class?)
|
64
64
|
"""
|
65
65
|
But it does not report private or protected methods
|
@@ -22,12 +22,12 @@ Feature: Mix `accept` and `reject` configuration settings
|
|
22
22
|
def foobar; end # Should be reported
|
23
23
|
def awesome_helper; end # Should be reported
|
24
24
|
"""
|
25
|
-
When I run
|
25
|
+
When I run reek -c config.reek smelly.rb
|
26
26
|
Then it reports:
|
27
27
|
"""
|
28
28
|
smelly.rb -- 2 warnings:
|
29
|
-
[4]:UncommunicativeMethodName: awesome_helper has the name 'awesome_helper'
|
30
|
-
[3]:UncommunicativeMethodName: foobar has the name 'foobar'
|
29
|
+
[4]:UncommunicativeMethodName: awesome_helper has the name 'awesome_helper'
|
30
|
+
[3]:UncommunicativeMethodName: foobar has the name 'foobar'
|
31
31
|
"""
|
32
32
|
|
33
33
|
Scenario: UncommunicativeModuleName
|
@@ -49,11 +49,11 @@ Feature: Mix `accept` and `reject` configuration settings
|
|
49
49
|
class M; end # Should not be reported
|
50
50
|
class BaseHelper; end # Should be reported
|
51
51
|
"""
|
52
|
-
When I run
|
52
|
+
When I run reek -c config.reek smelly.rb
|
53
53
|
Then it reports:
|
54
54
|
"""
|
55
55
|
smelly.rb -- 1 warning:
|
56
|
-
[3]:UncommunicativeModuleName: BaseHelper has the name 'BaseHelper'
|
56
|
+
[3]:UncommunicativeModuleName: BaseHelper has the name 'BaseHelper'
|
57
57
|
"""
|
58
58
|
|
59
59
|
Scenario: UncommunicativeParameterName
|
@@ -73,9 +73,9 @@ Feature: Mix `accept` and `reject` configuration settings
|
|
73
73
|
def omg(arg1); arg1; end # Should not be reported
|
74
74
|
def omg(foobar); foobar; end # Should be reported
|
75
75
|
"""
|
76
|
-
When I run
|
76
|
+
When I run reek -c config.reek smelly.rb
|
77
77
|
Then it reports:
|
78
78
|
"""
|
79
79
|
smelly.rb -- 1 warning:
|
80
|
-
[3]:UncommunicativeParameterName: omg has the parameter name 'foobar'
|
80
|
+
[3]:UncommunicativeParameterName: omg has the parameter name 'foobar'
|
81
81
|
"""
|
@@ -30,15 +30,15 @@ Feature: `reject` configuration setting
|
|
30
30
|
def meth(argument); argument; end
|
31
31
|
end
|
32
32
|
"""
|
33
|
-
When I run
|
33
|
+
When I run reek -c config.reek smelly.rb
|
34
34
|
Then it reports:
|
35
35
|
"""
|
36
36
|
smelly.rb -- 5 warnings:
|
37
|
-
[4]:UncommunicativeMethodName: Dummy#awesome_helper has the name 'awesome_helper'
|
38
|
-
[6]:UncommunicativeMethodName: Dummy#little_helper has the name 'little_helper'
|
39
|
-
[2]:UncommunicativeModuleName: Dummy has the name 'Dummy'
|
40
|
-
[4]:UncommunicativeParameterName: Dummy#awesome_helper has the parameter name 'solid_argument'
|
41
|
-
[6]:UncommunicativeParameterName: Dummy#little_helper has the parameter name 'nifty_argument'
|
37
|
+
[4]:UncommunicativeMethodName: Dummy#awesome_helper has the name 'awesome_helper'
|
38
|
+
[6]:UncommunicativeMethodName: Dummy#little_helper has the name 'little_helper'
|
39
|
+
[2]:UncommunicativeModuleName: Dummy has the name 'Dummy'
|
40
|
+
[4]:UncommunicativeParameterName: Dummy#awesome_helper has the parameter name 'solid_argument'
|
41
|
+
[6]:UncommunicativeParameterName: Dummy#little_helper has the parameter name 'nifty_argument'
|
42
42
|
"""
|
43
43
|
|
44
44
|
Scenario: reject regexes as list and as single item
|
@@ -66,13 +66,13 @@ Feature: `reject` configuration setting
|
|
66
66
|
def meth(argument); argument; end
|
67
67
|
end
|
68
68
|
"""
|
69
|
-
When I run
|
69
|
+
When I run reek -c config.reek smelly.rb
|
70
70
|
Then it reports:
|
71
71
|
"""
|
72
72
|
smelly.rb -- 5 warnings:
|
73
|
-
[4]:UncommunicativeMethodName: Dummy#awesome_helper has the name 'awesome_helper'
|
74
|
-
[6]:UncommunicativeMethodName: Dummy#little_helper has the name 'little_helper'
|
75
|
-
[2]:UncommunicativeModuleName: Dummy has the name 'Dummy'
|
76
|
-
[4]:UncommunicativeParameterName: Dummy#awesome_helper has the parameter name 'solid_argument'
|
77
|
-
[6]:UncommunicativeParameterName: Dummy#little_helper has the parameter name 'nifty_argument'
|
73
|
+
[4]:UncommunicativeMethodName: Dummy#awesome_helper has the name 'awesome_helper'
|
74
|
+
[6]:UncommunicativeMethodName: Dummy#little_helper has the name 'little_helper'
|
75
|
+
[2]:UncommunicativeModuleName: Dummy has the name 'Dummy'
|
76
|
+
[4]:UncommunicativeParameterName: Dummy#awesome_helper has the parameter name 'solid_argument'
|
77
|
+
[6]:UncommunicativeParameterName: Dummy#little_helper has the parameter name 'nifty_argument'
|
78
78
|
"""
|