reek 4.8.1 → 4.8.2

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +3 -3
  4. data/docs/Instance-Variable-Assumption.md +1 -1
  5. data/docs/Uncommunicative-Method-Name.md +2 -2
  6. data/docs/Uncommunicative-Module-Name.md +1 -1
  7. data/docs/Uncommunicative-Parameter-Name.md +1 -1
  8. data/features/command_line_interface/basic_usage.feature +2 -2
  9. data/features/command_line_interface/options.feature +1 -1
  10. data/features/command_line_interface/show_progress.feature +4 -4
  11. data/features/command_line_interface/smell_selection.feature +1 -1
  12. data/features/command_line_interface/smells_count.feature +6 -6
  13. data/features/command_line_interface/stdin.feature +5 -5
  14. data/features/configuration_files/accept_setting.feature +6 -6
  15. data/features/configuration_files/directory_specific_directives.feature +20 -20
  16. data/features/configuration_files/exclude_directives.feature +3 -3
  17. data/features/configuration_files/exclude_paths_directives.feature +4 -4
  18. data/features/configuration_files/masking_smells.feature +4 -4
  19. data/features/configuration_files/mix_accept_reject_setting.feature +7 -7
  20. data/features/configuration_files/reject_setting.feature +12 -12
  21. data/features/configuration_files/unused_private_method.feature +4 -4
  22. data/features/configuration_loading.feature +3 -3
  23. data/features/configuration_via_source_comments/erroneous_source_comments.feature +2 -2
  24. data/features/configuration_via_source_comments/well_formed_source_comments.feature +2 -2
  25. data/features/locales.feature +2 -2
  26. data/features/rake_task/rake_task.feature +15 -15
  27. data/features/reports/json.feature +1 -4
  28. data/features/reports/reports.feature +26 -26
  29. data/features/reports/yaml.feature +0 -3
  30. data/features/samples.feature +287 -287
  31. data/features/support/env.rb +2 -2
  32. data/features/todo_list.feature +10 -10
  33. data/lib/reek/cli/options.rb +2 -1
  34. data/lib/reek/documentation_link.rb +28 -0
  35. data/lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb +3 -2
  36. data/lib/reek/errors/bad_detector_in_comment_error.rb +3 -2
  37. data/lib/reek/errors/garbage_detector_configuration_in_comment_error.rb +3 -2
  38. data/lib/reek/report/code_climate/code_climate_configuration.yml +1 -1
  39. data/lib/reek/report/formatter/wiki_link_warning_formatter.rb +2 -15
  40. data/lib/reek/smell_detectors/feature_envy.rb +1 -0
  41. data/lib/reek/smell_warning.rb +5 -0
  42. data/lib/reek/version.rb +1 -1
  43. data/spec/reek/documentation_link_spec.rb +20 -0
  44. data/spec/reek/report/json_report_spec.rb +2 -2
  45. data/spec/reek/report/yaml_report_spec.rb +2 -2
  46. data/spec/reek/smell_detectors/feature_envy_spec.rb +45 -0
  47. metadata +4 -2
@@ -27,11 +27,11 @@ Feature: Unused Private Method detector
27
27
  end
28
28
  end
29
29
  """
30
- When I run `reek -c config.reek sample.rb`
30
+ When I run reek -c config.reek sample.rb
31
31
  Then it reports:
32
32
  """
33
33
  sample.rb -- 1 warning:
34
- [4]:UnusedPrivateMethod: Outer::Smelly has the unused private instance method 'foobar' [https://github.com/troessner/reek/blob/master/docs/Unused-Private-Method.md]
34
+ [4]:UnusedPrivateMethod: Outer::Smelly has the unused private instance method 'foobar'
35
35
  """
36
36
 
37
37
  Scenario: Use regexes for excluding contexts
@@ -58,9 +58,9 @@ Feature: Unused Private Method detector
58
58
  end
59
59
  end
60
60
  """
61
- When I run `reek -c config.reek sample.rb`
61
+ When I run reek -c config.reek sample.rb
62
62
  Then it reports:
63
63
  """
64
64
  sample.rb -- 1 warning:
65
- [4]:UnusedPrivateMethod: Outer::Smelly has the unused private instance method 'foobar' [https://github.com/troessner/reek/blob/master/docs/Unused-Private-Method.md]
65
+ [4]:UnusedPrivateMethod: Outer::Smelly has the unused private instance method 'foobar'
66
66
  """
@@ -17,8 +17,8 @@ Feature: Offer different ways how to load configuration
17
17
  And it reports:
18
18
  """
19
19
  smelly.rb -- 2 warnings:
20
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
21
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
20
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
21
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
22
22
  """
23
23
 
24
24
  Scenario: Configuration via CLI
@@ -44,5 +44,5 @@ Feature: Offer different ways how to load configuration
44
44
  And it reports:
45
45
  """
46
46
  smelly.rb -- 1 warning:
47
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
47
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
48
48
  """
@@ -33,8 +33,8 @@ Feature: Erroneous source comments are handled properly
33
33
  And it reports:
34
34
  """
35
35
  smelly.rb -- 2 warnings:
36
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
37
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
36
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
37
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
38
38
  2 total warnings
39
39
  """
40
40
 
@@ -48,7 +48,7 @@ Feature: Well formed source comments are handled properly
48
48
  And it reports:
49
49
  """
50
50
  enable_detector_explicitly.rb -- 1 warning:
51
- [3]:TooManyInstanceVariables: Alfa has at least 5 instance variables [https://github.com/troessner/reek/blob/master/docs/Too-Many-Instance-Variables.md]
51
+ [3]:TooManyInstanceVariables: Alfa has at least 5 instance variables
52
52
  """
53
53
 
54
54
  Scenario: Configure smell detector with the basic exclude option as string
@@ -112,5 +112,5 @@ Feature: Well formed source comments are handled properly
112
112
  And it reports:
113
113
  """
114
114
  configure_detector_specific_option.rb -- 1 warning:
115
- [3]:TooManyInstanceVariables: Alfa has at least 3 instance variables [https://github.com/troessner/reek/blob/master/docs/Too-Many-Instance-Variables.md]
115
+ [3]:TooManyInstanceVariables: Alfa has at least 3 instance variables
116
116
  """
@@ -9,7 +9,7 @@ Feature: Handling different locales
9
9
  """
10
10
  puts 'こんにちは世界'
11
11
  """
12
- When I run `reek -V konnichiwa.rb`
12
+ When I run reek -V konnichiwa.rb
13
13
  Then it succeeds
14
14
  And it reports no errors
15
15
  And it reports:
@@ -23,7 +23,7 @@ Feature: Handling different locales
23
23
  """
24
24
  puts 'こんにちは世界'
25
25
  """
26
- When I run `reek -V konnichiwa.rb`
26
+ When I run reek -V konnichiwa.rb
27
27
  Then it succeeds
28
28
  And it reports no errors
29
29
  And it reports:
@@ -10,7 +10,7 @@ Feature: Reek can be driven through its Task
10
10
 
11
11
  Reek::Rake::Task.new do |t|
12
12
  t.source_files = 'smelly.rb'
13
- t.reek_opts = '--no-color'
13
+ t.reek_opts = '--no-color --no-wiki-links'
14
14
  end
15
15
  """
16
16
  When I run `rake reek`
@@ -18,8 +18,8 @@ Feature: Reek can be driven through its Task
18
18
  And it reports:
19
19
  """
20
20
  smelly.rb -- 2 warnings:
21
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
22
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
21
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
22
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
23
23
  """
24
24
 
25
25
  Scenario: source_files using a FileList instead of a String
@@ -30,7 +30,7 @@ Feature: Reek can be driven through its Task
30
30
 
31
31
  Reek::Rake::Task.new do |t|
32
32
  t.source_files = FileList['smelly.*']
33
- t.reek_opts = '--no-color'
33
+ t.reek_opts = '--no-color --no-wiki-links'
34
34
  end
35
35
  """
36
36
  When I run `rake reek`
@@ -38,8 +38,8 @@ Feature: Reek can be driven through its Task
38
38
  And it reports:
39
39
  """
40
40
  smelly.rb -- 2 warnings:
41
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
42
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
41
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
42
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
43
43
  """
44
44
 
45
45
  Scenario: name changes the task name
@@ -50,7 +50,7 @@ Feature: Reek can be driven through its Task
50
50
 
51
51
  Reek::Rake::Task.new('silky') do |t|
52
52
  t.source_files = 'smelly.rb'
53
- t.reek_opts = '--no-color'
53
+ t.reek_opts = '--no-color --no-wiki-links'
54
54
  end
55
55
  """
56
56
  When I run `rake silky`
@@ -58,8 +58,8 @@ Feature: Reek can be driven through its Task
58
58
  And it reports:
59
59
  """
60
60
  smelly.rb -- 2 warnings:
61
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
62
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
61
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
62
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
63
63
  """
64
64
 
65
65
  Scenario: verbose prints the reek command
@@ -86,7 +86,7 @@ Feature: Reek can be driven through its Task
86
86
  Reek::Rake::Task.new do |t|
87
87
  t.fail_on_error = false
88
88
  t.source_files = 'smelly.rb'
89
- t.reek_opts = '--no-color'
89
+ t.reek_opts = '--no-color --no-wiki-links'
90
90
  end
91
91
  """
92
92
  When I run `rake reek`
@@ -95,8 +95,8 @@ Feature: Reek can be driven through its Task
95
95
  And it reports:
96
96
  """
97
97
  smelly.rb -- 2 warnings:
98
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
99
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
98
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
99
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
100
100
  """
101
101
 
102
102
  Scenario: can be configured with config_file
@@ -124,7 +124,7 @@ Feature: Reek can be driven through its Task
124
124
 
125
125
  Reek::Rake::Task.new do |t|
126
126
  t.source_files = 'clean.rb'
127
- t.reek_opts = '--no-color'
127
+ t.reek_opts = '--no-color --no-wiki-links'
128
128
  end
129
129
  """
130
130
  When I set the environment variable "REEK_SRC" to "smelly.rb"
@@ -133,6 +133,6 @@ Feature: Reek can be driven through its Task
133
133
  And it reports:
134
134
  """
135
135
  smelly.rb -- 2 warnings:
136
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
137
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
136
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
137
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
138
138
  """
@@ -24,7 +24,6 @@ Feature: Report smells using simple JSON layout
24
24
  "context": "Smelly#x",
25
25
  "lines": [ 4 ],
26
26
  "message": "has the name 'x'",
27
- "wiki_link": "https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md",
28
27
  "name": "x"
29
28
  },
30
29
  {
@@ -33,7 +32,6 @@ Feature: Report smells using simple JSON layout
33
32
  "context": "Smelly#x",
34
33
  "lines": [ 5 ],
35
34
  "message": "has the variable name 'y'",
36
- "wiki_link": "https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md",
37
35
  "name": "y"
38
36
  }
39
37
  ]
@@ -52,8 +50,7 @@ Feature: Report smells using simple JSON layout
52
50
  "lines": [
53
51
  1
54
52
  ],
55
- "message": "has no descriptive comment",
56
- "wiki_link": "https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md"
53
+ "message": "has no descriptive comment"
57
54
  }
58
55
  ]
59
56
  """
@@ -10,11 +10,11 @@ Feature: Correctly formatted reports
10
10
  And it reports:
11
11
  """
12
12
  smelly/dirty_one.rb -- 2 warnings:
13
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
14
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
13
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
14
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
15
15
  smelly/dirty_two.rb -- 2 warnings:
16
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
17
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
16
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
17
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
18
18
  4 total warnings
19
19
  """
20
20
 
@@ -30,11 +30,11 @@ Feature: Correctly formatted reports
30
30
  And it reports:
31
31
  """
32
32
  smelly/dirty_one.rb -- 2 warnings:
33
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
34
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
33
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
34
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
35
35
  smelly/dirty_two.rb -- 2 warnings:
36
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
37
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
36
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
37
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
38
38
  4 total warnings
39
39
  """
40
40
 
@@ -51,11 +51,11 @@ Feature: Correctly formatted reports
51
51
  And it reports:
52
52
  """
53
53
  smelly/dirty_two.rb -- 2 warnings:
54
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
55
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
54
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
55
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
56
56
  smelly/dirty_one.rb -- 2 warnings:
57
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
58
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
57
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
58
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
59
59
  4 total warnings
60
60
  """
61
61
 
@@ -110,8 +110,8 @@ Feature: Correctly formatted reports
110
110
  And it reports:
111
111
  """
112
112
  smelly.rb -- 2 warnings:
113
- UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
114
- UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
113
+ UncommunicativeMethodName: Smelly#x has the name 'x'
114
+ UncommunicativeVariableName: Smelly#x has the variable name 'y'
115
115
  """
116
116
 
117
117
  Examples:
@@ -127,8 +127,8 @@ Feature: Correctly formatted reports
127
127
  And it reports:
128
128
  """
129
129
  smelly.rb -- 2 warnings:
130
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
131
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
130
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
131
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
132
132
  """
133
133
 
134
134
  Examples:
@@ -144,8 +144,8 @@ Feature: Correctly formatted reports
144
144
  And it reports:
145
145
  """
146
146
  smelly.rb -- 2 warnings:
147
- smelly.rb:4: UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
148
- smelly.rb:5: UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
147
+ smelly.rb:4: UncommunicativeMethodName: Smelly#x has the name 'x'
148
+ smelly.rb:5: UncommunicativeVariableName: Smelly#x has the variable name 'y'
149
149
  """
150
150
 
151
151
  Examples:
@@ -162,11 +162,11 @@ Feature: Correctly formatted reports
162
162
  And it reports:
163
163
  """
164
164
  smelly/dirty_one.rb -- 2 warnings:
165
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
166
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
165
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
166
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
167
167
  smelly/dirty_two.rb -- 2 warnings:
168
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
169
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
168
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x'
169
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y'
170
170
  4 total warnings
171
171
  """
172
172
 
@@ -182,8 +182,8 @@ Feature: Correctly formatted reports
182
182
  And it reports:
183
183
  """
184
184
  smelly.rb -- 2 warnings:
185
- [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
186
- [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
185
+ [4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/v4.8.1/docs/Uncommunicative-Method-Name.md]
186
+ [5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/v4.8.1/docs/Uncommunicative-Variable-Name.md]
187
187
  """
188
188
 
189
189
  Examples:
@@ -209,8 +209,8 @@ Feature: Correctly formatted reports
209
209
  And it reports:
210
210
  """
211
211
  smelly.rb -- 2 warnings:
212
- UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
213
- UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
212
+ UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/v4.8.1/docs/Uncommunicative-Method-Name.md]
213
+ UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/v4.8.1/docs/Uncommunicative-Variable-Name.md]
214
214
  """
215
215
 
216
216
  Examples:
@@ -25,7 +25,6 @@ Feature: Report smells using simple YAML layout
25
25
  smell_type: UncommunicativeMethodName
26
26
  source: smelly.rb
27
27
  name: x
28
- wiki_link: https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md
29
28
  - context: Smelly#x
30
29
  lines:
31
30
  - 5
@@ -33,7 +32,6 @@ Feature: Report smells using simple YAML layout
33
32
  smell_type: UncommunicativeVariableName
34
33
  source: smelly.rb
35
34
  name: y
36
- wiki_link: https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md
37
35
  """
38
36
 
39
37
  Scenario: Indicate smells and print them as yaml when using STDIN
@@ -48,5 +46,4 @@ Feature: Report smells using simple YAML layout
48
46
  lines:
49
47
  - 1
50
48
  message: has no descriptive comment
51
- wiki_link: https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md
52
49
  """
@@ -12,294 +12,294 @@ Feature: Basic smell detection
12
12
  And it reports:
13
13
  """
14
14
  inline.rb -- 51 warnings:
15
- BooleanParameter: Inline::C#parse_signature has boolean parameter 'raw' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
16
- ClassVariable: Inline declares the class variable '@@directory' [https://github.com/troessner/reek/blob/master/docs/Class-Variable.md]
17
- ClassVariable: Inline declares the class variable '@@rootdir' [https://github.com/troessner/reek/blob/master/docs/Class-Variable.md]
18
- ClassVariable: Inline::C declares the class variable '@@type_map' [https://github.com/troessner/reek/blob/master/docs/Class-Variable.md]
19
- ControlParameter: Inline::C#parse_signature is controlled by argument 'raw' [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
20
- DataClump: Inline::C takes parameters ['options', 'src'] to 5 methods [https://github.com/troessner/reek/blob/master/docs/Data-Clump.md]
21
- DuplicateMethodCall: Inline#self.rootdir calls 'env.nil?' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
22
- DuplicateMethodCall: Inline::C#build calls '$? != 0' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
23
- DuplicateMethodCall: Inline::C#build calls 'Inline.directory' 5 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
24
- DuplicateMethodCall: Inline::C#build calls 'io.puts "#endif"' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
25
- DuplicateMethodCall: Inline::C#build calls 'io.puts "#ifdef __cplusplus"' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
26
- DuplicateMethodCall: Inline::C#build calls 'io.puts' 6 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
27
- DuplicateMethodCall: Inline::C#build calls 'warn "Output:\n#{result}"' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
28
- DuplicateMethodCall: Inline::C#crap_for_windoze calls 'Config::CONFIG['libdir']' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
29
- DuplicateMethodCall: Inline::C#generate calls 'result.sub!(/\A\n/, '')' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
30
- DuplicateMethodCall: Inline::C#generate calls 'signature['args']' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
31
- DuplicateMethodCall: Inline::C#generate calls 'signature['args'].map' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
32
- DuplicateMethodCall: Inline::C#initialize calls 'stack.empty?' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
33
- DuplicateMethodCall: Module#inline calls 'Inline.const_get(lang)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
34
- DuplicateMethodCall: Module#inline calls 'options[:testing]' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
35
- InstanceVariableAssumption: Inline::C assumes too much for instance variable '@module_name' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
36
- InstanceVariableAssumption: Inline::C assumes too much for instance variable '@so_name' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
37
- InstanceVariableAssumption: Inline::C assumes too much for instance variable '@types' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
38
- IrresponsibleModule: CompilationError has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
39
- IrresponsibleModule: Dir has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
40
- IrresponsibleModule: File has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
41
- IrresponsibleModule: Module has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
42
- NestedIterators: Inline::C#build contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
43
- NilCheck: Inline#self.rootdir performs a nil-check [https://github.com/troessner/reek/blob/master/docs/Nil-Check.md]
44
- RepeatedConditional: Inline::C tests '$DEBUG' at least 7 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
45
- RepeatedConditional: Inline::C tests '$TESTING' at least 4 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
46
- RepeatedConditional: Inline::C tests '@@type_map.has_key? type' at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
47
- TooManyConstants: Inline has 6 constants [https://github.com/troessner/reek/blob/master/docs/Too-Many-Constants.md]
48
- TooManyInstanceVariables: Inline::C has at least 13 instance variables [https://github.com/troessner/reek/blob/master/docs/Too-Many-Instance-Variables.md]
49
- TooManyMethods: Inline::C has at least 25 methods [https://github.com/troessner/reek/blob/master/docs/Too-Many-Methods.md]
50
- TooManyStatements: File#self.write_with_backup has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
51
- TooManyStatements: Inline#self.rootdir has approx 8 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
52
- TooManyStatements: Inline::C#build has approx 63 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
53
- TooManyStatements: Inline::C#generate has approx 35 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
54
- TooManyStatements: Inline::C#module_name has approx 7 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
55
- TooManyStatements: Inline::C#parse_signature has approx 16 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
56
- TooManyStatements: Module#inline has approx 12 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
57
- UncommunicativeMethodName: Inline::C#c has the name 'c' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
58
- UncommunicativeModuleName: Inline::C has the name 'C' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Module-Name.md]
59
- UncommunicativeVariableName: Inline::C#build has the variable name 'n' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
60
- UncommunicativeVariableName: Inline::C#build has the variable name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
61
- UncommunicativeVariableName: Inline::C#module_name has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
62
- UncommunicativeVariableName: Inline::C#module_name has the variable name 'md5' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
63
- UncommunicativeVariableName: Inline::C#module_name has the variable name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
64
- UncommunicativeVariableName: Inline::C#parse_signature has the variable name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
65
- UtilityFunction: Inline::C#strip_comments doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
15
+ BooleanParameter: Inline::C#parse_signature has boolean parameter 'raw'
16
+ ClassVariable: Inline declares the class variable '@@directory'
17
+ ClassVariable: Inline declares the class variable '@@rootdir'
18
+ ClassVariable: Inline::C declares the class variable '@@type_map'
19
+ ControlParameter: Inline::C#parse_signature is controlled by argument 'raw'
20
+ DataClump: Inline::C takes parameters ['options', 'src'] to 5 methods
21
+ DuplicateMethodCall: Inline#self.rootdir calls 'env.nil?' 2 times
22
+ DuplicateMethodCall: Inline::C#build calls '$? != 0' 2 times
23
+ DuplicateMethodCall: Inline::C#build calls 'Inline.directory' 5 times
24
+ DuplicateMethodCall: Inline::C#build calls 'io.puts "#endif"' 2 times
25
+ DuplicateMethodCall: Inline::C#build calls 'io.puts "#ifdef __cplusplus"' 2 times
26
+ DuplicateMethodCall: Inline::C#build calls 'io.puts' 6 times
27
+ DuplicateMethodCall: Inline::C#build calls 'warn "Output:\n#{result}"' 2 times
28
+ DuplicateMethodCall: Inline::C#crap_for_windoze calls 'Config::CONFIG['libdir']' 2 times
29
+ DuplicateMethodCall: Inline::C#generate calls 'result.sub!(/\A\n/, '')' 2 times
30
+ DuplicateMethodCall: Inline::C#generate calls 'signature['args']' 2 times
31
+ DuplicateMethodCall: Inline::C#generate calls 'signature['args'].map' 2 times
32
+ DuplicateMethodCall: Inline::C#initialize calls 'stack.empty?' 2 times
33
+ DuplicateMethodCall: Module#inline calls 'Inline.const_get(lang)' 2 times
34
+ DuplicateMethodCall: Module#inline calls 'options[:testing]' 2 times
35
+ InstanceVariableAssumption: Inline::C assumes too much for instance variable '@module_name'
36
+ InstanceVariableAssumption: Inline::C assumes too much for instance variable '@so_name'
37
+ InstanceVariableAssumption: Inline::C assumes too much for instance variable '@types'
38
+ IrresponsibleModule: CompilationError has no descriptive comment
39
+ IrresponsibleModule: Dir has no descriptive comment
40
+ IrresponsibleModule: File has no descriptive comment
41
+ IrresponsibleModule: Module has no descriptive comment
42
+ NestedIterators: Inline::C#build contains iterators nested 2 deep
43
+ NilCheck: Inline#self.rootdir performs a nil-check
44
+ RepeatedConditional: Inline::C tests '$DEBUG' at least 7 times
45
+ RepeatedConditional: Inline::C tests '$TESTING' at least 4 times
46
+ RepeatedConditional: Inline::C tests '@@type_map.has_key? type' at least 3 times
47
+ TooManyConstants: Inline has 6 constants
48
+ TooManyInstanceVariables: Inline::C has at least 13 instance variables
49
+ TooManyMethods: Inline::C has at least 25 methods
50
+ TooManyStatements: File#self.write_with_backup has approx 6 statements
51
+ TooManyStatements: Inline#self.rootdir has approx 8 statements
52
+ TooManyStatements: Inline::C#build has approx 63 statements
53
+ TooManyStatements: Inline::C#generate has approx 35 statements
54
+ TooManyStatements: Inline::C#module_name has approx 7 statements
55
+ TooManyStatements: Inline::C#parse_signature has approx 16 statements
56
+ TooManyStatements: Module#inline has approx 12 statements
57
+ UncommunicativeMethodName: Inline::C#c has the name 'c'
58
+ UncommunicativeModuleName: Inline::C has the name 'C'
59
+ UncommunicativeVariableName: Inline::C#build has the variable name 'n'
60
+ UncommunicativeVariableName: Inline::C#build has the variable name 't'
61
+ UncommunicativeVariableName: Inline::C#module_name has the variable name 'm'
62
+ UncommunicativeVariableName: Inline::C#module_name has the variable name 'md5'
63
+ UncommunicativeVariableName: Inline::C#module_name has the variable name 'x'
64
+ UncommunicativeVariableName: Inline::C#parse_signature has the variable name 'x'
65
+ UtilityFunction: Inline::C#strip_comments doesn't depend on instance state (maybe move it to another class?)
66
66
  optparse.rb -- 126 warnings:
67
- Attribute: OptionParser#banner is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
68
- Attribute: OptionParser#default_argv is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
69
- Attribute: OptionParser#program_name is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
70
- Attribute: OptionParser#release is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
71
- Attribute: OptionParser#summary_indent is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
72
- Attribute: OptionParser#summary_width is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
73
- Attribute: OptionParser#version is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
74
- Attribute: OptionParser::ParseError#reason is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
75
- BooleanParameter: OptionParser#complete has boolean parameter 'icase' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
76
- BooleanParameter: OptionParser::Completion#complete has boolean parameter 'icase' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
77
- BooleanParameter: OptionParser::List#complete has boolean parameter 'icase' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
78
- ControlParameter: OptionParser#summarize is controlled by argument 'blk' [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
79
- ControlParameter: OptionParser::Arguable#options= is controlled by argument 'opt' [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
80
- ControlParameter: OptionParser::ParseError#set_option is controlled by argument 'eq' [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
81
- DuplicateMethodCall: OptionParser#getopts calls 'result[opt] = false' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
82
- DuplicateMethodCall: OptionParser#make_switch calls 'default_style.guess(arg = a)' 4 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
83
- DuplicateMethodCall: OptionParser#make_switch calls 'long << (o = q.downcase)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
84
- DuplicateMethodCall: OptionParser#make_switch calls 'notwice(NilClass, klass, 'type')' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
85
- DuplicateMethodCall: OptionParser#make_switch calls 'notwice(a ? Object : TrueClass, klass, 'type')' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
86
- DuplicateMethodCall: OptionParser#make_switch calls 'pattern.method(:convert)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
87
- DuplicateMethodCall: OptionParser#make_switch calls 'pattern.method(:convert).to_proc' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
88
- DuplicateMethodCall: OptionParser#make_switch calls 'pattern.respond_to?(:convert)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
89
- DuplicateMethodCall: OptionParser#make_switch calls 'q.downcase' 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
90
- DuplicateMethodCall: OptionParser#make_switch calls 'sdesc << "-#{q}"' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
91
- DuplicateMethodCall: OptionParser#make_switch calls 'search(:atype, FalseClass)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
92
- DuplicateMethodCall: OptionParser#make_switch calls 'search(:atype, o)' 6 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
93
- DuplicateMethodCall: OptionParser#order calls 'argv[0]' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
94
- DuplicateMethodCall: OptionParser#parse calls 'argv[0]' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
95
- DuplicateMethodCall: OptionParser#parse_in_order calls '$!.set_option(arg, true)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
96
- DuplicateMethodCall: OptionParser#parse_in_order calls 'cb.call(val)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
97
- DuplicateMethodCall: OptionParser#parse_in_order calls 'raise $!.set_option(arg, true)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
98
- DuplicateMethodCall: OptionParser#parse_in_order calls 'raise(*exc)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
99
- DuplicateMethodCall: OptionParser#parse_in_order calls 'setter.call(sw.switch_name, val)' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
100
- DuplicateMethodCall: OptionParser#parse_in_order calls 'sw.block' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
101
- DuplicateMethodCall: OptionParser#parse_in_order calls 'sw.switch_name' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
102
- DuplicateMethodCall: OptionParser#permute calls 'argv[0]' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
103
- DuplicateMethodCall: OptionParser::Completion#complete calls 'candidates.size' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
104
- DuplicateMethodCall: OptionParser::Completion#complete calls 'k.id2name' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
105
- DuplicateMethodCall: OptionParser::Switch#parse_arg calls 's.length' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
106
- DuplicateMethodCall: OptionParser::Switch#summarize calls 'indent + l' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
107
- DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.collect {|s| s.length}' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
108
- DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.collect {|s| s.length}.max' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
109
- DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.collect {|s| s.length}.max.to_i' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
110
- DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.collect' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
111
- DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.shift' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
112
- DuplicateMethodCall: OptionParser::Switch#summarize calls 'left[-1]' 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
113
- DuplicateMethodCall: OptionParser::Switch#summarize calls 's.length' 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
114
- FeatureEnvy: OptionParser#order refers to 'argv' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
115
- FeatureEnvy: OptionParser#parse refers to 'argv' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
116
- FeatureEnvy: OptionParser#permute refers to 'argv' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
117
- FeatureEnvy: OptionParser::Completion#complete refers to 'candidates' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
118
- FeatureEnvy: OptionParser::List#accept refers to 'pat' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
119
- FeatureEnvy: OptionParser::List#add_banner refers to 'opt' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
120
- FeatureEnvy: OptionParser::List#summarize refers to 'opt' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
121
- InstanceVariableAssumption: OptionParser assumes too much for instance variable '@release' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
122
- InstanceVariableAssumption: OptionParser assumes too much for instance variable '@version' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
123
- LongParameterList: OptionParser#complete has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
124
- LongParameterList: OptionParser#summarize has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
125
- LongParameterList: OptionParser::List#complete has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
126
- LongParameterList: OptionParser::List#update has 5 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
127
- LongParameterList: OptionParser::Switch#initialize has 7 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
128
- LongParameterList: OptionParser::Switch#summarize has 5 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
129
- ManualDispatch: OptionParser#make_switch manually dispatches method call [https://github.com/troessner/reek/blob/master/docs/Manual-Dispatch.md]
130
- ManualDispatch: OptionParser::List#accept manually dispatches method call [https://github.com/troessner/reek/blob/master/docs/Manual-Dispatch.md]
131
- ManualDispatch: OptionParser::List#add_banner manually dispatches method call [https://github.com/troessner/reek/blob/master/docs/Manual-Dispatch.md]
132
- ManualDispatch: OptionParser::List#summarize manually dispatches method call [https://github.com/troessner/reek/blob/master/docs/Manual-Dispatch.md]
133
- ModuleInitialize: OptionParser::Arguable has initialize method [https://github.com/troessner/reek/blob/master/docs/Module-Initialize.md]
134
- NestedIterators: OptionParser#make_switch contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
135
- NilCheck: OptionParser#make_switch performs a nil-check [https://github.com/troessner/reek/blob/master/docs/Nil-Check.md]
136
- NilCheck: OptionParser#self.inc performs a nil-check [https://github.com/troessner/reek/blob/master/docs/Nil-Check.md]
137
- RepeatedConditional: OptionParser tests 'a' at least 7 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
138
- RepeatedConditional: OptionParser tests 'argv.size == 1 and Array === argv[0]' at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
139
- RepeatedConditional: OptionParser tests 'default_pattern' at least 7 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
140
- RepeatedConditional: OptionParser tests 'not_style' at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
141
- RepeatedConditional: OptionParser tests 's' at least 7 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
142
- SubclassedFromCoreClass: OptionParser::CompletingHash inherits from core class 'Hash' [https://github.com/troessner/reek/blob/master/docs/Subclassed-From-Core-Class.md]
143
- SubclassedFromCoreClass: OptionParser::OptionMap inherits from core class 'Hash' [https://github.com/troessner/reek/blob/master/docs/Subclassed-From-Core-Class.md]
144
- TooManyConstants: OptionParser has 16 constants [https://github.com/troessner/reek/blob/master/docs/Too-Many-Constants.md]
145
- TooManyInstanceVariables: OptionParser has at least 6 instance variables [https://github.com/troessner/reek/blob/master/docs/Too-Many-Instance-Variables.md]
146
- TooManyInstanceVariables: OptionParser::Switch has at least 7 instance variables [https://github.com/troessner/reek/blob/master/docs/Too-Many-Instance-Variables.md]
147
- TooManyMethods: OptionParser has at least 42 methods [https://github.com/troessner/reek/blob/master/docs/Too-Many-Methods.md]
148
- TooManyStatements: OptionParser#complete has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
149
- TooManyStatements: OptionParser#getopts has approx 18 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
150
- TooManyStatements: OptionParser#load has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
151
- TooManyStatements: OptionParser#make_switch has approx 72 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
152
- TooManyStatements: OptionParser#parse_in_order has approx 35 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
153
- TooManyStatements: OptionParser#permute! has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
154
- TooManyStatements: OptionParser::Arguable#options has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
155
- TooManyStatements: OptionParser::Completion#complete has approx 23 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
156
- TooManyStatements: OptionParser::List#update has approx 10 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
157
- TooManyStatements: OptionParser::Switch#parse_arg has approx 11 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
158
- TooManyStatements: OptionParser::Switch#self.guess has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
159
- TooManyStatements: OptionParser::Switch#summarize has approx 28 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
160
- TooManyStatements: OptionParser::Switch::PlacedArgument#parse has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
161
- UncommunicativeParameterName: OptionParser::List#accept has the parameter name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
162
- UncommunicativeParameterName: OptionParser::List#reject has the parameter name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
163
- UncommunicativeParameterName: OptionParser::Switch#self.incompatible_argument_styles has the parameter name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
164
- UncommunicativeVariableName: OptionParser has the variable name 'f' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
165
- UncommunicativeVariableName: OptionParser has the variable name 'k' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
166
- UncommunicativeVariableName: OptionParser has the variable name 'o' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
167
- UncommunicativeVariableName: OptionParser has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
168
- UncommunicativeVariableName: OptionParser has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
169
- UncommunicativeVariableName: OptionParser#load has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
170
- UncommunicativeVariableName: OptionParser#make_switch has the variable name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
171
- UncommunicativeVariableName: OptionParser#make_switch has the variable name 'c' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
172
- UncommunicativeVariableName: OptionParser#make_switch has the variable name 'n' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
173
- UncommunicativeVariableName: OptionParser#make_switch has the variable name 'o' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
174
- UncommunicativeVariableName: OptionParser#make_switch has the variable name 'q' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
175
- UncommunicativeVariableName: OptionParser#make_switch has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
176
- UncommunicativeVariableName: OptionParser#make_switch has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
177
- UncommunicativeVariableName: OptionParser#search has the variable name 'k' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
178
- UncommunicativeVariableName: OptionParser#summarize has the variable name 'l' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
179
- UncommunicativeVariableName: OptionParser#ver has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
180
- UncommunicativeVariableName: OptionParser::Completion#complete has the variable name 'k' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
181
- UncommunicativeVariableName: OptionParser::Completion#complete has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
182
- UncommunicativeVariableName: OptionParser::List#update has the variable name 'o' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
183
- UncommunicativeVariableName: OptionParser::Switch#add_banner has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
184
- UncommunicativeVariableName: OptionParser::Switch#parse_arg has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
185
- UncommunicativeVariableName: OptionParser::Switch#parse_arg has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
186
- UncommunicativeVariableName: OptionParser::Switch#self.guess has the variable name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
187
- UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 'l' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
188
- UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 'r' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
189
- UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
190
- UnusedParameters: OptionParser::Completion#convert has unused parameter 'opt' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
191
- UnusedParameters: OptionParser::Switch::NoArgument#parse has unused parameter 'argv' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
192
- UnusedParameters: OptionParser::Switch::OptionalArgument#parse has unused parameter 'argv' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
67
+ Attribute: OptionParser#banner is a writable attribute
68
+ Attribute: OptionParser#default_argv is a writable attribute
69
+ Attribute: OptionParser#program_name is a writable attribute
70
+ Attribute: OptionParser#release is a writable attribute
71
+ Attribute: OptionParser#summary_indent is a writable attribute
72
+ Attribute: OptionParser#summary_width is a writable attribute
73
+ Attribute: OptionParser#version is a writable attribute
74
+ Attribute: OptionParser::ParseError#reason is a writable attribute
75
+ BooleanParameter: OptionParser#complete has boolean parameter 'icase'
76
+ BooleanParameter: OptionParser::Completion#complete has boolean parameter 'icase'
77
+ BooleanParameter: OptionParser::List#complete has boolean parameter 'icase'
78
+ ControlParameter: OptionParser#summarize is controlled by argument 'blk'
79
+ ControlParameter: OptionParser::Arguable#options= is controlled by argument 'opt'
80
+ ControlParameter: OptionParser::ParseError#set_option is controlled by argument 'eq'
81
+ DuplicateMethodCall: OptionParser#getopts calls 'result[opt] = false' 2 times
82
+ DuplicateMethodCall: OptionParser#make_switch calls 'default_style.guess(arg = a)' 4 times
83
+ DuplicateMethodCall: OptionParser#make_switch calls 'long << (o = q.downcase)' 2 times
84
+ DuplicateMethodCall: OptionParser#make_switch calls 'notwice(NilClass, klass, 'type')' 2 times
85
+ DuplicateMethodCall: OptionParser#make_switch calls 'notwice(a ? Object : TrueClass, klass, 'type')' 2 times
86
+ DuplicateMethodCall: OptionParser#make_switch calls 'pattern.method(:convert)' 2 times
87
+ DuplicateMethodCall: OptionParser#make_switch calls 'pattern.method(:convert).to_proc' 2 times
88
+ DuplicateMethodCall: OptionParser#make_switch calls 'pattern.respond_to?(:convert)' 2 times
89
+ DuplicateMethodCall: OptionParser#make_switch calls 'q.downcase' 3 times
90
+ DuplicateMethodCall: OptionParser#make_switch calls 'sdesc << "-#{q}"' 2 times
91
+ DuplicateMethodCall: OptionParser#make_switch calls 'search(:atype, FalseClass)' 2 times
92
+ DuplicateMethodCall: OptionParser#make_switch calls 'search(:atype, o)' 6 times
93
+ DuplicateMethodCall: OptionParser#order calls 'argv[0]' 2 times
94
+ DuplicateMethodCall: OptionParser#parse calls 'argv[0]' 2 times
95
+ DuplicateMethodCall: OptionParser#parse_in_order calls '$!.set_option(arg, true)' 2 times
96
+ DuplicateMethodCall: OptionParser#parse_in_order calls 'cb.call(val)' 2 times
97
+ DuplicateMethodCall: OptionParser#parse_in_order calls 'raise $!.set_option(arg, true)' 2 times
98
+ DuplicateMethodCall: OptionParser#parse_in_order calls 'raise(*exc)' 2 times
99
+ DuplicateMethodCall: OptionParser#parse_in_order calls 'setter.call(sw.switch_name, val)' 2 times
100
+ DuplicateMethodCall: OptionParser#parse_in_order calls 'sw.block' 2 times
101
+ DuplicateMethodCall: OptionParser#parse_in_order calls 'sw.switch_name' 2 times
102
+ DuplicateMethodCall: OptionParser#permute calls 'argv[0]' 2 times
103
+ DuplicateMethodCall: OptionParser::Completion#complete calls 'candidates.size' 2 times
104
+ DuplicateMethodCall: OptionParser::Completion#complete calls 'k.id2name' 2 times
105
+ DuplicateMethodCall: OptionParser::Switch#parse_arg calls 's.length' 2 times
106
+ DuplicateMethodCall: OptionParser::Switch#summarize calls 'indent + l' 2 times
107
+ DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.collect {|s| s.length}' 2 times
108
+ DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.collect {|s| s.length}.max' 2 times
109
+ DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.collect {|s| s.length}.max.to_i' 2 times
110
+ DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.collect' 2 times
111
+ DuplicateMethodCall: OptionParser::Switch#summarize calls 'left.shift' 2 times
112
+ DuplicateMethodCall: OptionParser::Switch#summarize calls 'left[-1]' 3 times
113
+ DuplicateMethodCall: OptionParser::Switch#summarize calls 's.length' 3 times
114
+ FeatureEnvy: OptionParser#order refers to 'argv' more than self (maybe move it to another class?)
115
+ FeatureEnvy: OptionParser#parse refers to 'argv' more than self (maybe move it to another class?)
116
+ FeatureEnvy: OptionParser#permute refers to 'argv' more than self (maybe move it to another class?)
117
+ FeatureEnvy: OptionParser::Completion#complete refers to 'candidates' more than self (maybe move it to another class?)
118
+ FeatureEnvy: OptionParser::List#accept refers to 'pat' more than self (maybe move it to another class?)
119
+ FeatureEnvy: OptionParser::List#add_banner refers to 'opt' more than self (maybe move it to another class?)
120
+ FeatureEnvy: OptionParser::List#summarize refers to 'opt' more than self (maybe move it to another class?)
121
+ InstanceVariableAssumption: OptionParser assumes too much for instance variable '@release'
122
+ InstanceVariableAssumption: OptionParser assumes too much for instance variable '@version'
123
+ LongParameterList: OptionParser#complete has 4 parameters
124
+ LongParameterList: OptionParser#summarize has 4 parameters
125
+ LongParameterList: OptionParser::List#complete has 4 parameters
126
+ LongParameterList: OptionParser::List#update has 5 parameters
127
+ LongParameterList: OptionParser::Switch#initialize has 7 parameters
128
+ LongParameterList: OptionParser::Switch#summarize has 5 parameters
129
+ ManualDispatch: OptionParser#make_switch manually dispatches method call
130
+ ManualDispatch: OptionParser::List#accept manually dispatches method call
131
+ ManualDispatch: OptionParser::List#add_banner manually dispatches method call
132
+ ManualDispatch: OptionParser::List#summarize manually dispatches method call
133
+ ModuleInitialize: OptionParser::Arguable has initialize method
134
+ NestedIterators: OptionParser#make_switch contains iterators nested 2 deep
135
+ NilCheck: OptionParser#make_switch performs a nil-check
136
+ NilCheck: OptionParser#self.inc performs a nil-check
137
+ RepeatedConditional: OptionParser tests 'a' at least 7 times
138
+ RepeatedConditional: OptionParser tests 'argv.size == 1 and Array === argv[0]' at least 3 times
139
+ RepeatedConditional: OptionParser tests 'default_pattern' at least 7 times
140
+ RepeatedConditional: OptionParser tests 'not_style' at least 3 times
141
+ RepeatedConditional: OptionParser tests 's' at least 7 times
142
+ SubclassedFromCoreClass: OptionParser::CompletingHash inherits from core class 'Hash'
143
+ SubclassedFromCoreClass: OptionParser::OptionMap inherits from core class 'Hash'
144
+ TooManyConstants: OptionParser has 16 constants
145
+ TooManyInstanceVariables: OptionParser has at least 6 instance variables
146
+ TooManyInstanceVariables: OptionParser::Switch has at least 7 instance variables
147
+ TooManyMethods: OptionParser has at least 42 methods
148
+ TooManyStatements: OptionParser#complete has approx 6 statements
149
+ TooManyStatements: OptionParser#getopts has approx 18 statements
150
+ TooManyStatements: OptionParser#load has approx 6 statements
151
+ TooManyStatements: OptionParser#make_switch has approx 72 statements
152
+ TooManyStatements: OptionParser#parse_in_order has approx 35 statements
153
+ TooManyStatements: OptionParser#permute! has approx 6 statements
154
+ TooManyStatements: OptionParser::Arguable#options has approx 6 statements
155
+ TooManyStatements: OptionParser::Completion#complete has approx 23 statements
156
+ TooManyStatements: OptionParser::List#update has approx 10 statements
157
+ TooManyStatements: OptionParser::Switch#parse_arg has approx 11 statements
158
+ TooManyStatements: OptionParser::Switch#self.guess has approx 6 statements
159
+ TooManyStatements: OptionParser::Switch#summarize has approx 28 statements
160
+ TooManyStatements: OptionParser::Switch::PlacedArgument#parse has approx 6 statements
161
+ UncommunicativeParameterName: OptionParser::List#accept has the parameter name 't'
162
+ UncommunicativeParameterName: OptionParser::List#reject has the parameter name 't'
163
+ UncommunicativeParameterName: OptionParser::Switch#self.incompatible_argument_styles has the parameter name 't'
164
+ UncommunicativeVariableName: OptionParser has the variable name 'f'
165
+ UncommunicativeVariableName: OptionParser has the variable name 'k'
166
+ UncommunicativeVariableName: OptionParser has the variable name 'o'
167
+ UncommunicativeVariableName: OptionParser has the variable name 's'
168
+ UncommunicativeVariableName: OptionParser has the variable name 'v'
169
+ UncommunicativeVariableName: OptionParser#load has the variable name 's'
170
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'a'
171
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'c'
172
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'n'
173
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'o'
174
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'q'
175
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 's'
176
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'v'
177
+ UncommunicativeVariableName: OptionParser#search has the variable name 'k'
178
+ UncommunicativeVariableName: OptionParser#summarize has the variable name 'l'
179
+ UncommunicativeVariableName: OptionParser#ver has the variable name 'v'
180
+ UncommunicativeVariableName: OptionParser::Completion#complete has the variable name 'k'
181
+ UncommunicativeVariableName: OptionParser::Completion#complete has the variable name 'v'
182
+ UncommunicativeVariableName: OptionParser::List#update has the variable name 'o'
183
+ UncommunicativeVariableName: OptionParser::Switch#add_banner has the variable name 's'
184
+ UncommunicativeVariableName: OptionParser::Switch#parse_arg has the variable name 'm'
185
+ UncommunicativeVariableName: OptionParser::Switch#parse_arg has the variable name 's'
186
+ UncommunicativeVariableName: OptionParser::Switch#self.guess has the variable name 't'
187
+ UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 'l'
188
+ UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 'r'
189
+ UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 's'
190
+ UnusedParameters: OptionParser::Completion#convert has unused parameter 'opt'
191
+ UnusedParameters: OptionParser::Switch::NoArgument#parse has unused parameter 'argv'
192
+ UnusedParameters: OptionParser::Switch::OptionalArgument#parse has unused parameter 'argv'
193
193
  redcloth.rb -- 110 warnings:
194
- Attribute: RedCloth#filter_html is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
195
- Attribute: RedCloth#filter_styles is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
196
- Attribute: RedCloth#hard_breaks is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
197
- Attribute: RedCloth#lite_mode is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
198
- Attribute: RedCloth#no_span_caps is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
199
- Attribute: RedCloth#rules is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
200
- BooleanParameter: RedCloth#blocks has boolean parameter 'deep_code' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
201
- ControlParameter: RedCloth#blocks is controlled by argument 'deep_code' [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
202
- ControlParameter: RedCloth#htmlesc is controlled by argument 'mode' [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
203
- ControlParameter: RedCloth#lT is controlled by argument 'text' [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
204
- ControlParameter: RedCloth#pba is controlled by argument 'element' [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
205
- DataClump: RedCloth takes parameters ['atts', 'cite', 'content', 'tag'] to 3 methods [https://github.com/troessner/reek/blob/master/docs/Data-Clump.md]
206
- DuplicateMethodCall: RedCloth#block_textile_lists calls 'depth.last' 5 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
207
- DuplicateMethodCall: RedCloth#block_textile_lists calls 'depth.last.length' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
208
- DuplicateMethodCall: RedCloth#block_textile_lists calls 'depth[i]' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
209
- DuplicateMethodCall: RedCloth#block_textile_lists calls 'line_id - 1' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
210
- DuplicateMethodCall: RedCloth#block_textile_lists calls 'lines[line_id - 1]' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
211
- DuplicateMethodCall: RedCloth#block_textile_lists calls 'tl.length' 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
212
- DuplicateMethodCall: RedCloth#clean_html calls 'tags[tag]' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
213
- DuplicateMethodCall: RedCloth#pba calls '$1.length' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
214
- DuplicateMethodCall: RedCloth#rip_offtags calls '@pre_list.last << line' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
215
- DuplicateMethodCall: RedCloth#rip_offtags calls '@pre_list.last' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
216
- DuplicateMethodCall: RedCloth#rip_offtags calls 'codepre - used_offtags.length > 0' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
217
- DuplicateMethodCall: RedCloth#rip_offtags calls 'codepre - used_offtags.length' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
218
- DuplicateMethodCall: RedCloth#rip_offtags calls 'codepre.zero?' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
219
- DuplicateMethodCall: RedCloth#rip_offtags calls 'htmlesc( line, :NoQuotes )' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
220
- DuplicateMethodCall: RedCloth#rip_offtags calls 'used_offtags.length' 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
221
- DuplicateMethodCall: RedCloth#rip_offtags calls 'used_offtags['notextile']' 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
222
- FeatureEnvy: RedCloth#block_markdown_atx refers to 'text' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
223
- FeatureEnvy: RedCloth#block_markdown_setext refers to 'text' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
224
- FeatureEnvy: RedCloth#block_textile_lists refers to 'depth' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
225
- FeatureEnvy: RedCloth#blocks refers to 'blk' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
226
- FeatureEnvy: RedCloth#clean_white_space refers to 'text' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
227
- FeatureEnvy: RedCloth#pba refers to 'text' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Feature-Envy.md]
228
- InstanceVariableAssumption: RedCloth assumes too much for instance variable '@lite_mode' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
229
- InstanceVariableAssumption: RedCloth assumes too much for instance variable '@pre_list' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
230
- InstanceVariableAssumption: RedCloth assumes too much for instance variable '@rules' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
231
- InstanceVariableAssumption: RedCloth assumes too much for instance variable '@shelf' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
232
- InstanceVariableAssumption: RedCloth assumes too much for instance variable '@urlrefs' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]
233
- LongParameterList: RedCloth#textile_bq has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
234
- LongParameterList: RedCloth#textile_fn_ has 5 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
235
- LongParameterList: RedCloth#textile_p has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
236
- ManualDispatch: RedCloth#block_textile_prefix manually dispatches method call [https://github.com/troessner/reek/blob/master/docs/Manual-Dispatch.md]
237
- NestedIterators: RedCloth#block_textile_lists contains iterators nested 3 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
238
- NestedIterators: RedCloth#block_textile_table contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
239
- NestedIterators: RedCloth#block_textile_table contains iterators nested 3 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
240
- NestedIterators: RedCloth#blocks contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
241
- NestedIterators: RedCloth#clean_html contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
242
- NestedIterators: RedCloth#inline contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
243
- NestedIterators: RedCloth#inline_textile_span contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
244
- RepeatedConditional: RedCloth tests 'atts' at least 6 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
245
- RepeatedConditional: RedCloth tests 'codepre.zero?' at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
246
- RepeatedConditional: RedCloth tests 'href' at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
247
- RepeatedConditional: RedCloth tests 'title' at least 4 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
248
- SubclassedFromCoreClass: RedCloth inherits from core class 'String' [https://github.com/troessner/reek/blob/master/docs/Subclassed-From-Core-Class.md]
249
- TooManyConstants: RedCloth has 45 constants [https://github.com/troessner/reek/blob/master/docs/Too-Many-Constants.md]
250
- TooManyMethods: RedCloth has at least 44 methods [https://github.com/troessner/reek/blob/master/docs/Too-Many-Methods.md]
251
- TooManyStatements: RedCloth#block_markdown_bq has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
252
- TooManyStatements: RedCloth#block_textile_lists has approx 21 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
253
- TooManyStatements: RedCloth#block_textile_table has approx 19 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
254
- TooManyStatements: RedCloth#blocks has approx 19 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
255
- TooManyStatements: RedCloth#clean_html has approx 15 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
256
- TooManyStatements: RedCloth#clean_white_space has approx 7 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
257
- TooManyStatements: RedCloth#glyphs_textile has approx 10 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
258
- TooManyStatements: RedCloth#inline_markdown_link has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
259
- TooManyStatements: RedCloth#inline_markdown_reflink has approx 8 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
260
- TooManyStatements: RedCloth#inline_textile_image has approx 17 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
261
- TooManyStatements: RedCloth#inline_textile_link has approx 9 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
262
- TooManyStatements: RedCloth#inline_textile_span has approx 9 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
263
- TooManyStatements: RedCloth#pba has approx 21 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
264
- TooManyStatements: RedCloth#rip_offtags has approx 18 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
265
- TooManyStatements: RedCloth#to_html has approx 26 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
266
- UncommunicativeMethodName: RedCloth#lT has the name 'lT' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
267
- UncommunicativeParameterName: RedCloth#textile_popup_help has the parameter name 'windowH' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
268
- UncommunicativeParameterName: RedCloth#textile_popup_help has the parameter name 'windowW' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
269
- UncommunicativeVariableName: RedCloth has the variable name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
270
- UncommunicativeVariableName: RedCloth has the variable name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
271
- UncommunicativeVariableName: RedCloth#block_textile_lists has the variable name 'i' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
272
- UncommunicativeVariableName: RedCloth#block_textile_lists has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
273
- UncommunicativeVariableName: RedCloth#block_textile_table has the variable name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
274
- UncommunicativeVariableName: RedCloth#clean_html has the variable name 'q' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
275
- UncommunicativeVariableName: RedCloth#clean_html has the variable name 'q2' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
276
- UncommunicativeVariableName: RedCloth#initialize has the variable name 'r' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
277
- UncommunicativeVariableName: RedCloth#inline_markdown_link has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
278
- UncommunicativeVariableName: RedCloth#inline_markdown_reflink has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
279
- UncommunicativeVariableName: RedCloth#inline_textile_code has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
280
- UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'href_a1' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
281
- UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'href_a2' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
282
- UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
283
- UncommunicativeVariableName: RedCloth#inline_textile_link has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
284
- UncommunicativeVariableName: RedCloth#inline_textile_span has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
285
- UncommunicativeVariableName: RedCloth#refs_markdown has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
286
- UncommunicativeVariableName: RedCloth#refs_textile has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
287
- UncommunicativeVariableName: RedCloth#retrieve has the variable name 'i' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
288
- UncommunicativeVariableName: RedCloth#retrieve has the variable name 'r' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
289
- UnusedParameters: RedCloth#block_markdown_lists has unused parameter 'text' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
290
- UnusedParameters: RedCloth#textile_bq has unused parameter 'tag' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
291
- UnusedParameters: RedCloth#textile_fn_ has unused parameter 'cite' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
292
- UnusedParameters: RedCloth#textile_fn_ has unused parameter 'tag' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
293
- UnusedParameters: RedCloth#textile_p has unused parameter 'cite' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
294
- UtilityFunction: RedCloth#block_markdown_rule doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
295
- UtilityFunction: RedCloth#clean_html doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
296
- UtilityFunction: RedCloth#flush_left doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
297
- UtilityFunction: RedCloth#footnote_ref doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
298
- UtilityFunction: RedCloth#h_align doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
299
- UtilityFunction: RedCloth#htmlesc doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
300
- UtilityFunction: RedCloth#incoming_entities doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
301
- UtilityFunction: RedCloth#lT doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
302
- UtilityFunction: RedCloth#no_textile doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
303
- UtilityFunction: RedCloth#v_align doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/master/docs/Utility-Function.md]
194
+ Attribute: RedCloth#filter_html is a writable attribute
195
+ Attribute: RedCloth#filter_styles is a writable attribute
196
+ Attribute: RedCloth#hard_breaks is a writable attribute
197
+ Attribute: RedCloth#lite_mode is a writable attribute
198
+ Attribute: RedCloth#no_span_caps is a writable attribute
199
+ Attribute: RedCloth#rules is a writable attribute
200
+ BooleanParameter: RedCloth#blocks has boolean parameter 'deep_code'
201
+ ControlParameter: RedCloth#blocks is controlled by argument 'deep_code'
202
+ ControlParameter: RedCloth#htmlesc is controlled by argument 'mode'
203
+ ControlParameter: RedCloth#lT is controlled by argument 'text'
204
+ ControlParameter: RedCloth#pba is controlled by argument 'element'
205
+ DataClump: RedCloth takes parameters ['atts', 'cite', 'content', 'tag'] to 3 methods
206
+ DuplicateMethodCall: RedCloth#block_textile_lists calls 'depth.last' 5 times
207
+ DuplicateMethodCall: RedCloth#block_textile_lists calls 'depth.last.length' 2 times
208
+ DuplicateMethodCall: RedCloth#block_textile_lists calls 'depth[i]' 2 times
209
+ DuplicateMethodCall: RedCloth#block_textile_lists calls 'line_id - 1' 2 times
210
+ DuplicateMethodCall: RedCloth#block_textile_lists calls 'lines[line_id - 1]' 2 times
211
+ DuplicateMethodCall: RedCloth#block_textile_lists calls 'tl.length' 3 times
212
+ DuplicateMethodCall: RedCloth#clean_html calls 'tags[tag]' 2 times
213
+ DuplicateMethodCall: RedCloth#pba calls '$1.length' 2 times
214
+ DuplicateMethodCall: RedCloth#rip_offtags calls '@pre_list.last << line' 2 times
215
+ DuplicateMethodCall: RedCloth#rip_offtags calls '@pre_list.last' 2 times
216
+ DuplicateMethodCall: RedCloth#rip_offtags calls 'codepre - used_offtags.length > 0' 2 times
217
+ DuplicateMethodCall: RedCloth#rip_offtags calls 'codepre - used_offtags.length' 2 times
218
+ DuplicateMethodCall: RedCloth#rip_offtags calls 'codepre.zero?' 2 times
219
+ DuplicateMethodCall: RedCloth#rip_offtags calls 'htmlesc( line, :NoQuotes )' 2 times
220
+ DuplicateMethodCall: RedCloth#rip_offtags calls 'used_offtags.length' 2 times
221
+ DuplicateMethodCall: RedCloth#rip_offtags calls 'used_offtags['notextile']' 3 times
222
+ FeatureEnvy: RedCloth#block_markdown_atx refers to 'text' more than self (maybe move it to another class?)
223
+ FeatureEnvy: RedCloth#block_markdown_setext refers to 'text' more than self (maybe move it to another class?)
224
+ FeatureEnvy: RedCloth#block_textile_lists refers to 'depth' more than self (maybe move it to another class?)
225
+ FeatureEnvy: RedCloth#blocks refers to 'blk' more than self (maybe move it to another class?)
226
+ FeatureEnvy: RedCloth#clean_white_space refers to 'text' more than self (maybe move it to another class?)
227
+ FeatureEnvy: RedCloth#pba refers to 'text' more than self (maybe move it to another class?)
228
+ InstanceVariableAssumption: RedCloth assumes too much for instance variable '@lite_mode'
229
+ InstanceVariableAssumption: RedCloth assumes too much for instance variable '@pre_list'
230
+ InstanceVariableAssumption: RedCloth assumes too much for instance variable '@rules'
231
+ InstanceVariableAssumption: RedCloth assumes too much for instance variable '@shelf'
232
+ InstanceVariableAssumption: RedCloth assumes too much for instance variable '@urlrefs'
233
+ LongParameterList: RedCloth#textile_bq has 4 parameters
234
+ LongParameterList: RedCloth#textile_fn_ has 5 parameters
235
+ LongParameterList: RedCloth#textile_p has 4 parameters
236
+ ManualDispatch: RedCloth#block_textile_prefix manually dispatches method call
237
+ NestedIterators: RedCloth#block_textile_lists contains iterators nested 3 deep
238
+ NestedIterators: RedCloth#block_textile_table contains iterators nested 2 deep
239
+ NestedIterators: RedCloth#block_textile_table contains iterators nested 3 deep
240
+ NestedIterators: RedCloth#blocks contains iterators nested 2 deep
241
+ NestedIterators: RedCloth#clean_html contains iterators nested 2 deep
242
+ NestedIterators: RedCloth#inline contains iterators nested 2 deep
243
+ NestedIterators: RedCloth#inline_textile_span contains iterators nested 2 deep
244
+ RepeatedConditional: RedCloth tests 'atts' at least 6 times
245
+ RepeatedConditional: RedCloth tests 'codepre.zero?' at least 3 times
246
+ RepeatedConditional: RedCloth tests 'href' at least 3 times
247
+ RepeatedConditional: RedCloth tests 'title' at least 4 times
248
+ SubclassedFromCoreClass: RedCloth inherits from core class 'String'
249
+ TooManyConstants: RedCloth has 45 constants
250
+ TooManyMethods: RedCloth has at least 44 methods
251
+ TooManyStatements: RedCloth#block_markdown_bq has approx 6 statements
252
+ TooManyStatements: RedCloth#block_textile_lists has approx 21 statements
253
+ TooManyStatements: RedCloth#block_textile_table has approx 19 statements
254
+ TooManyStatements: RedCloth#blocks has approx 19 statements
255
+ TooManyStatements: RedCloth#clean_html has approx 15 statements
256
+ TooManyStatements: RedCloth#clean_white_space has approx 7 statements
257
+ TooManyStatements: RedCloth#glyphs_textile has approx 10 statements
258
+ TooManyStatements: RedCloth#inline_markdown_link has approx 6 statements
259
+ TooManyStatements: RedCloth#inline_markdown_reflink has approx 8 statements
260
+ TooManyStatements: RedCloth#inline_textile_image has approx 17 statements
261
+ TooManyStatements: RedCloth#inline_textile_link has approx 9 statements
262
+ TooManyStatements: RedCloth#inline_textile_span has approx 9 statements
263
+ TooManyStatements: RedCloth#pba has approx 21 statements
264
+ TooManyStatements: RedCloth#rip_offtags has approx 18 statements
265
+ TooManyStatements: RedCloth#to_html has approx 26 statements
266
+ UncommunicativeMethodName: RedCloth#lT has the name 'lT'
267
+ UncommunicativeParameterName: RedCloth#textile_popup_help has the parameter name 'windowH'
268
+ UncommunicativeParameterName: RedCloth#textile_popup_help has the parameter name 'windowW'
269
+ UncommunicativeVariableName: RedCloth has the variable name 'a'
270
+ UncommunicativeVariableName: RedCloth has the variable name 'b'
271
+ UncommunicativeVariableName: RedCloth#block_textile_lists has the variable name 'i'
272
+ UncommunicativeVariableName: RedCloth#block_textile_lists has the variable name 'v'
273
+ UncommunicativeVariableName: RedCloth#block_textile_table has the variable name 'x'
274
+ UncommunicativeVariableName: RedCloth#clean_html has the variable name 'q'
275
+ UncommunicativeVariableName: RedCloth#clean_html has the variable name 'q2'
276
+ UncommunicativeVariableName: RedCloth#initialize has the variable name 'r'
277
+ UncommunicativeVariableName: RedCloth#inline_markdown_link has the variable name 'm'
278
+ UncommunicativeVariableName: RedCloth#inline_markdown_reflink has the variable name 'm'
279
+ UncommunicativeVariableName: RedCloth#inline_textile_code has the variable name 'm'
280
+ UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'href_a1'
281
+ UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'href_a2'
282
+ UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'm'
283
+ UncommunicativeVariableName: RedCloth#inline_textile_link has the variable name 'm'
284
+ UncommunicativeVariableName: RedCloth#inline_textile_span has the variable name 'm'
285
+ UncommunicativeVariableName: RedCloth#refs_markdown has the variable name 'm'
286
+ UncommunicativeVariableName: RedCloth#refs_textile has the variable name 'm'
287
+ UncommunicativeVariableName: RedCloth#retrieve has the variable name 'i'
288
+ UncommunicativeVariableName: RedCloth#retrieve has the variable name 'r'
289
+ UnusedParameters: RedCloth#block_markdown_lists has unused parameter 'text'
290
+ UnusedParameters: RedCloth#textile_bq has unused parameter 'tag'
291
+ UnusedParameters: RedCloth#textile_fn_ has unused parameter 'cite'
292
+ UnusedParameters: RedCloth#textile_fn_ has unused parameter 'tag'
293
+ UnusedParameters: RedCloth#textile_p has unused parameter 'cite'
294
+ UtilityFunction: RedCloth#block_markdown_rule doesn't depend on instance state (maybe move it to another class?)
295
+ UtilityFunction: RedCloth#clean_html doesn't depend on instance state (maybe move it to another class?)
296
+ UtilityFunction: RedCloth#flush_left doesn't depend on instance state (maybe move it to another class?)
297
+ UtilityFunction: RedCloth#footnote_ref doesn't depend on instance state (maybe move it to another class?)
298
+ UtilityFunction: RedCloth#h_align doesn't depend on instance state (maybe move it to another class?)
299
+ UtilityFunction: RedCloth#htmlesc doesn't depend on instance state (maybe move it to another class?)
300
+ UtilityFunction: RedCloth#incoming_entities doesn't depend on instance state (maybe move it to another class?)
301
+ UtilityFunction: RedCloth#lT doesn't depend on instance state (maybe move it to another class?)
302
+ UtilityFunction: RedCloth#no_textile doesn't depend on instance state (maybe move it to another class?)
303
+ UtilityFunction: RedCloth#v_align doesn't depend on instance state (maybe move it to another class?)
304
304
  287 total warnings
305
305
  """