reek 3.6.1 → 3.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/features/command_line_interface/basic_usage.feature +8 -8
  4. data/features/command_line_interface/options.feature +2 -1
  5. data/features/command_line_interface/smell_selection.feature +1 -1
  6. data/features/command_line_interface/smells_count.feature +8 -8
  7. data/features/command_line_interface/stdin.feature +3 -3
  8. data/features/configuration_files/directory_specific_directives.feature +9 -9
  9. data/features/configuration_files/masking_smells.feature +5 -5
  10. data/features/configuration_loading.feature +6 -6
  11. data/features/programmatic_access.feature +3 -3
  12. data/features/rake_task/rake_task.feature +9 -9
  13. data/features/reports/json.feature +4 -0
  14. data/features/reports/reports.feature +49 -37
  15. data/features/reports/yaml.feature +4 -0
  16. data/features/samples.feature +265 -265
  17. data/lib/reek/cli/options.rb +5 -4
  18. data/lib/reek/cli/warning_collector.rb +1 -1
  19. data/lib/reek/report.rb +2 -1
  20. data/lib/reek/report/code_climate_formatter.rb +46 -0
  21. data/lib/reek/report/formatter.rb +13 -8
  22. data/lib/reek/report/report.rb +12 -0
  23. data/lib/reek/smells/smell_warning.rb +2 -2
  24. data/lib/reek/version.rb +1 -1
  25. data/reek.gemspec +5 -4
  26. data/spec/reek/report/code_climate_formatter_spec.rb +63 -0
  27. data/spec/reek/report/code_climate_report_spec.rb +68 -0
  28. data/spec/reek/report/json_report_spec.rb +18 -18
  29. data/spec/reek/report/yaml_report_spec.rb +17 -17
  30. data/spec/reek/smells/smell_warning_spec.rb +11 -11
  31. data/spec/samples/checkstyle.xml +1 -1
  32. metadata +20 -3
@@ -28,6 +28,7 @@ Feature: Report smells using simple YAML layout
28
28
  message: calls @foo.bar 2 times
29
29
  name: "@foo.bar"
30
30
  count: 2
31
+ wiki_link: https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md
31
32
  - smell_category: Duplication
32
33
  smell_type: DuplicateMethodCall
33
34
  source: smelly.rb
@@ -38,6 +39,7 @@ Feature: Report smells using simple YAML layout
38
39
  message: calls puts(@foo.bar) 2 times
39
40
  name: puts(@foo.bar)
40
41
  count: 2
42
+ wiki_link: https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md
41
43
  - smell_category: UncommunicativeName
42
44
  smell_type: UncommunicativeMethodName
43
45
  source: smelly.rb
@@ -46,6 +48,7 @@ Feature: Report smells using simple YAML layout
46
48
  - 3
47
49
  message: has the name 'm'
48
50
  name: m
51
+ wiki_link: https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md
49
52
  """
50
53
 
51
54
  Scenario: Indicate smells and print them as yaml when using STDIN
@@ -62,4 +65,5 @@ Feature: Report smells using simple YAML layout
62
65
  - 1
63
66
  message: has no descriptive comment
64
67
  name: Turn
68
+ wiki_link: https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md
65
69
  """
@@ -12,272 +12,272 @@ Feature: Basic smell detection
12
12
  And it reports:
13
13
  """
14
14
  inline.rb -- 47 warnings:
15
- CompilationError has no descriptive comment (IrresponsibleModule)
16
- Dir has no descriptive comment (IrresponsibleModule)
17
- File has no descriptive comment (IrresponsibleModule)
18
- File#self.write_with_backup has approx 6 statements (TooManyStatements)
19
- Inline declares the class variable @@directory (ClassVariable)
20
- Inline declares the class variable @@rootdir (ClassVariable)
21
- Inline#self.rootdir calls env.nil? 2 times (DuplicateMethodCall)
22
- Inline#self.rootdir has approx 8 statements (TooManyStatements)
23
- Inline#self.rootdir performs a nil-check (NilCheck)
24
- Inline::C declares the class variable @@type_map (ClassVariable)
25
- Inline::C has at least 13 instance variables (TooManyInstanceVariables)
26
- Inline::C has at least 25 methods (TooManyMethods)
27
- Inline::C has the name 'C' (UncommunicativeModuleName)
28
- Inline::C takes parameters [options, src] to 5 methods (DataClump)
29
- Inline::C tests $DEBUG at least 7 times (RepeatedConditional)
30
- Inline::C tests $TESTING at least 4 times (RepeatedConditional)
31
- Inline::C tests @@type_map.has_key?(type) at least 3 times (RepeatedConditional)
32
- Inline::C#build calls $? != 0 2 times (DuplicateMethodCall)
33
- Inline::C#build calls Inline.directory 5 times (DuplicateMethodCall)
34
- Inline::C#build calls io.puts 6 times (DuplicateMethodCall)
35
- Inline::C#build calls io.puts("#endif") 2 times (DuplicateMethodCall)
36
- Inline::C#build calls io.puts("#ifdef __cplusplus") 2 times (DuplicateMethodCall)
37
- Inline::C#build calls warn("Output:\n#{result}") 2 times (DuplicateMethodCall)
38
- Inline::C#build contains iterators nested 2 deep (NestedIterators)
39
- Inline::C#build has approx 63 statements (TooManyStatements)
40
- Inline::C#build has the variable name 'n' (UncommunicativeVariableName)
41
- Inline::C#build has the variable name 't' (UncommunicativeVariableName)
42
- Inline::C#c has the name 'c' (UncommunicativeMethodName)
43
- Inline::C#crap_for_windoze calls Config::CONFIG["libdir"] 2 times (DuplicateMethodCall)
44
- Inline::C#generate calls result.sub!(/\A\n/, "") 2 times (DuplicateMethodCall)
45
- Inline::C#generate calls signature["args"] 2 times (DuplicateMethodCall)
46
- Inline::C#generate calls signature["args"].map 2 times (DuplicateMethodCall)
47
- Inline::C#generate has approx 35 statements (TooManyStatements)
48
- Inline::C#initialize calls stack.empty? 2 times (DuplicateMethodCall)
49
- Inline::C#module_name has approx 7 statements (TooManyStatements)
50
- Inline::C#module_name has the variable name 'm' (UncommunicativeVariableName)
51
- Inline::C#module_name has the variable name 'md5' (UncommunicativeVariableName)
52
- Inline::C#module_name has the variable name 'x' (UncommunicativeVariableName)
53
- Inline::C#parse_signature has approx 16 statements (TooManyStatements)
54
- Inline::C#parse_signature has boolean parameter 'raw' (BooleanParameter)
55
- Inline::C#parse_signature has the variable name 'x' (UncommunicativeVariableName)
56
- Inline::C#parse_signature is controlled by argument raw (ControlParameter)
57
- Inline::C#strip_comments doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
58
- Module has no descriptive comment (IrresponsibleModule)
59
- Module#inline calls Inline.const_get(lang) 2 times (DuplicateMethodCall)
60
- Module#inline calls options[:testing] 2 times (DuplicateMethodCall)
61
- Module#inline has approx 12 statements (TooManyStatements)
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 6 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
25
+ DuplicateMethodCall: Inline::C#build calls io.puts("#endif") 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
26
+ DuplicateMethodCall: Inline::C#build calls io.puts("#ifdef __cplusplus") 2 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
+ IrresponsibleModule: CompilationError has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
36
+ IrresponsibleModule: Dir has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
37
+ IrresponsibleModule: File has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
38
+ IrresponsibleModule: Module has no descriptive comment [https://github.com/troessner/reek/blob/master/docs/Irresponsible-Module.md]
39
+ NestedIterators: Inline::C#build contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
40
+ NilCheck: Inline#self.rootdir performs a nil-check [https://github.com/troessner/reek/blob/master/docs/Nil-Check.md]
41
+ RepeatedConditional: Inline::C tests $DEBUG at least 7 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
42
+ RepeatedConditional: Inline::C tests $TESTING at least 4 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
43
+ RepeatedConditional: Inline::C tests @@type_map.has_key?(type) at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
44
+ TooManyInstanceVariables: Inline::C has at least 13 instance variables [https://github.com/troessner/reek/blob/master/docs/Too-Many-Instance-Variables.md]
45
+ TooManyMethods: Inline::C has at least 25 methods [https://github.com/troessner/reek/blob/master/docs/Too-Many-Methods.md]
46
+ TooManyStatements: File#self.write_with_backup has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
47
+ TooManyStatements: Inline#self.rootdir has approx 8 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
48
+ TooManyStatements: Inline::C#build has approx 63 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
49
+ TooManyStatements: Inline::C#generate has approx 35 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
50
+ TooManyStatements: Inline::C#module_name has approx 7 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
51
+ TooManyStatements: Inline::C#parse_signature has approx 16 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
52
+ TooManyStatements: Module#inline has approx 12 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
53
+ UncommunicativeMethodName: Inline::C#c has the name 'c' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
54
+ UncommunicativeModuleName: Inline::C has the name 'C' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Module-Name.md]
55
+ UncommunicativeVariableName: Inline::C#build has the variable name 'n' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
56
+ UncommunicativeVariableName: Inline::C#build has the variable name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
57
+ UncommunicativeVariableName: Inline::C#module_name has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
58
+ UncommunicativeVariableName: Inline::C#module_name has the variable name 'md5' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
59
+ UncommunicativeVariableName: Inline::C#module_name has the variable name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
60
+ UncommunicativeVariableName: Inline::C#parse_signature has the variable name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
61
+ 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]
62
62
  optparse.rb -- 117 warnings:
63
- OptionParser has at least 42 methods (TooManyMethods)
64
- OptionParser has at least 6 instance variables (TooManyInstanceVariables)
65
- OptionParser has the variable name 'f' (UncommunicativeVariableName)
66
- OptionParser has the variable name 'k' (UncommunicativeVariableName)
67
- OptionParser has the variable name 'o' (UncommunicativeVariableName)
68
- OptionParser has the variable name 's' (UncommunicativeVariableName)
69
- OptionParser has the variable name 'v' (UncommunicativeVariableName)
70
- OptionParser tests (argv.size == 1) && (Array === argv[0]) at least 3 times (RepeatedConditional)
71
- OptionParser tests a at least 7 times (RepeatedConditional)
72
- OptionParser tests default_pattern at least 7 times (RepeatedConditional)
73
- OptionParser tests not_style at least 3 times (RepeatedConditional)
74
- OptionParser tests s at least 7 times (RepeatedConditional)
75
- OptionParser#banner is a writable attribute (Attribute)
76
- OptionParser#complete has 4 parameters (LongParameterList)
77
- OptionParser#complete has approx 6 statements (TooManyStatements)
78
- OptionParser#complete has boolean parameter 'icase' (BooleanParameter)
79
- OptionParser#default_argv is a writable attribute (Attribute)
80
- OptionParser#getopts calls result[opt] = false 2 times (DuplicateMethodCall)
81
- OptionParser#getopts has approx 18 statements (TooManyStatements)
82
- OptionParser#load has approx 6 statements (TooManyStatements)
83
- OptionParser#load has the variable name 's' (UncommunicativeVariableName)
84
- OptionParser#make_switch calls default_style.guess(arg = a) 4 times (DuplicateMethodCall)
85
- OptionParser#make_switch calls long << (o = q.downcase) 2 times (DuplicateMethodCall)
86
- OptionParser#make_switch calls notwice(NilClass, klass, "type") 2 times (DuplicateMethodCall)
87
- OptionParser#make_switch calls notwice(if a ... end, klass, "type") 2 times (DuplicateMethodCall)
88
- OptionParser#make_switch calls pattern.method(:convert) 2 times (DuplicateMethodCall)
89
- OptionParser#make_switch calls pattern.method(:convert).to_proc 2 times (DuplicateMethodCall)
90
- OptionParser#make_switch calls pattern.respond_to?(:convert) 2 times (DuplicateMethodCall)
91
- OptionParser#make_switch calls q.downcase 3 times (DuplicateMethodCall)
92
- OptionParser#make_switch calls sdesc << "-#{q}" 2 times (DuplicateMethodCall)
93
- OptionParser#make_switch calls search(:atype, FalseClass) 2 times (DuplicateMethodCall)
94
- OptionParser#make_switch calls search(:atype, o) 6 times (DuplicateMethodCall)
95
- OptionParser#make_switch contains iterators nested 2 deep (NestedIterators)
96
- OptionParser#make_switch has approx 72 statements (TooManyStatements)
97
- OptionParser#make_switch has the variable name 'a' (UncommunicativeVariableName)
98
- OptionParser#make_switch has the variable name 'c' (UncommunicativeVariableName)
99
- OptionParser#make_switch has the variable name 'n' (UncommunicativeVariableName)
100
- OptionParser#make_switch has the variable name 'o' (UncommunicativeVariableName)
101
- OptionParser#make_switch has the variable name 'q' (UncommunicativeVariableName)
102
- OptionParser#make_switch has the variable name 's' (UncommunicativeVariableName)
103
- OptionParser#make_switch has the variable name 'v' (UncommunicativeVariableName)
104
- OptionParser#make_switch performs a nil-check (NilCheck)
105
- OptionParser#order calls argv[0] 2 times (DuplicateMethodCall)
106
- OptionParser#order refers to argv more than self (maybe move it to another class?) (FeatureEnvy)
107
- OptionParser#parse calls argv[0] 2 times (DuplicateMethodCall)
108
- OptionParser#parse refers to argv more than self (maybe move it to another class?) (FeatureEnvy)
109
- OptionParser#parse_in_order calls $!.set_option(arg, true) 2 times (DuplicateMethodCall)
110
- OptionParser#parse_in_order calls cb.call(val) 2 times (DuplicateMethodCall)
111
- OptionParser#parse_in_order calls raise($!.set_option(arg, true)) 2 times (DuplicateMethodCall)
112
- OptionParser#parse_in_order calls raise(*exc) 2 times (DuplicateMethodCall)
113
- OptionParser#parse_in_order calls setter.call(sw.switch_name, val) 2 times (DuplicateMethodCall)
114
- OptionParser#parse_in_order calls sw.block 2 times (DuplicateMethodCall)
115
- OptionParser#parse_in_order calls sw.switch_name 2 times (DuplicateMethodCall)
116
- OptionParser#parse_in_order has approx 35 statements (TooManyStatements)
117
- OptionParser#permute calls argv[0] 2 times (DuplicateMethodCall)
118
- OptionParser#permute refers to argv more than self (maybe move it to another class?) (FeatureEnvy)
119
- OptionParser#permute! has approx 6 statements (TooManyStatements)
120
- OptionParser#program_name is a writable attribute (Attribute)
121
- OptionParser#release is a writable attribute (Attribute)
122
- OptionParser#search has the variable name 'k' (UncommunicativeVariableName)
123
- OptionParser#self.inc performs a nil-check (NilCheck)
124
- OptionParser#summarize has 4 parameters (LongParameterList)
125
- OptionParser#summarize has the variable name 'l' (UncommunicativeVariableName)
126
- OptionParser#summarize is controlled by argument blk (ControlParameter)
127
- OptionParser#summary_indent is a writable attribute (Attribute)
128
- OptionParser#summary_width is a writable attribute (Attribute)
129
- OptionParser#ver has the variable name 'v' (UncommunicativeVariableName)
130
- OptionParser#version is a writable attribute (Attribute)
131
- OptionParser::Arguable has initialize method (ModuleInitialize)
132
- OptionParser::Arguable#options has approx 6 statements (TooManyStatements)
133
- OptionParser::Arguable#options= is controlled by argument opt (ControlParameter)
134
- OptionParser::Completion#complete calls candidates.size 2 times (DuplicateMethodCall)
135
- OptionParser::Completion#complete calls k.id2name 2 times (DuplicateMethodCall)
136
- OptionParser::Completion#complete has approx 23 statements (TooManyStatements)
137
- OptionParser::Completion#complete has boolean parameter 'icase' (BooleanParameter)
138
- OptionParser::Completion#complete has the variable name 'k' (UncommunicativeVariableName)
139
- OptionParser::Completion#complete has the variable name 'v' (UncommunicativeVariableName)
140
- OptionParser::Completion#complete refers to candidates more than self (maybe move it to another class?) (FeatureEnvy)
141
- OptionParser::Completion#convert has unused parameter 'opt' (UnusedParameters)
142
- OptionParser::List#accept has the parameter name 't' (UncommunicativeParameterName)
143
- OptionParser::List#accept refers to pat more than self (maybe move it to another class?) (FeatureEnvy)
144
- OptionParser::List#add_banner refers to opt more than self (maybe move it to another class?) (FeatureEnvy)
145
- OptionParser::List#complete has 4 parameters (LongParameterList)
146
- OptionParser::List#complete has boolean parameter 'icase' (BooleanParameter)
147
- OptionParser::List#reject has the parameter name 't' (UncommunicativeParameterName)
148
- OptionParser::List#summarize refers to opt more than self (maybe move it to another class?) (FeatureEnvy)
149
- OptionParser::List#update has 5 parameters (LongParameterList)
150
- OptionParser::List#update has approx 10 statements (TooManyStatements)
151
- OptionParser::List#update has the variable name 'o' (UncommunicativeVariableName)
152
- OptionParser::ParseError#reason is a writable attribute (Attribute)
153
- OptionParser::ParseError#set_option is controlled by argument eq (ControlParameter)
154
- OptionParser::Switch has at least 7 instance variables (TooManyInstanceVariables)
155
- OptionParser::Switch#add_banner has the variable name 's' (UncommunicativeVariableName)
156
- OptionParser::Switch#initialize has 7 parameters (LongParameterList)
157
- OptionParser::Switch#parse_arg calls s.length 2 times (DuplicateMethodCall)
158
- OptionParser::Switch#parse_arg has approx 11 statements (TooManyStatements)
159
- OptionParser::Switch#parse_arg has the variable name 'm' (UncommunicativeVariableName)
160
- OptionParser::Switch#parse_arg has the variable name 's' (UncommunicativeVariableName)
161
- OptionParser::Switch#self.guess has approx 6 statements (TooManyStatements)
162
- OptionParser::Switch#self.guess has the variable name 't' (UncommunicativeVariableName)
163
- OptionParser::Switch#self.incompatible_argument_styles has the parameter name 't' (UncommunicativeParameterName)
164
- OptionParser::Switch#summarize calls indent + l 2 times (DuplicateMethodCall)
165
- OptionParser::Switch#summarize calls left.collect 2 times (DuplicateMethodCall)
166
- OptionParser::Switch#summarize calls left.collect do |s| ... end 2 times (DuplicateMethodCall)
167
- OptionParser::Switch#summarize calls left.collect do |s| ... end.max 2 times (DuplicateMethodCall)
168
- OptionParser::Switch#summarize calls left.collect do |s| ... end.max.to_i 2 times (DuplicateMethodCall)
169
- OptionParser::Switch#summarize calls left.shift 2 times (DuplicateMethodCall)
170
- OptionParser::Switch#summarize calls left[(-1)] 3 times (DuplicateMethodCall)
171
- OptionParser::Switch#summarize calls s.length 3 times (DuplicateMethodCall)
172
- OptionParser::Switch#summarize has 5 parameters (LongParameterList)
173
- OptionParser::Switch#summarize has approx 28 statements (TooManyStatements)
174
- OptionParser::Switch#summarize has the variable name 'l' (UncommunicativeVariableName)
175
- OptionParser::Switch#summarize has the variable name 'r' (UncommunicativeVariableName)
176
- OptionParser::Switch#summarize has the variable name 's' (UncommunicativeVariableName)
177
- OptionParser::Switch::NoArgument#parse has unused parameter 'argv' (UnusedParameters)
178
- OptionParser::Switch::OptionalArgument#parse has unused parameter 'argv' (UnusedParameters)
179
- OptionParser::Switch::PlacedArgument#parse has approx 6 statements (TooManyStatements)
63
+ Attribute: OptionParser#banner is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
64
+ Attribute: OptionParser#default_argv is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
65
+ Attribute: OptionParser#program_name is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
66
+ Attribute: OptionParser#release is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
67
+ Attribute: OptionParser#summary_indent is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
68
+ Attribute: OptionParser#summary_width is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
69
+ Attribute: OptionParser#version is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
70
+ Attribute: OptionParser::ParseError#reason is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
71
+ BooleanParameter: OptionParser#complete has boolean parameter 'icase' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
72
+ BooleanParameter: OptionParser::Completion#complete has boolean parameter 'icase' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
73
+ BooleanParameter: OptionParser::List#complete has boolean parameter 'icase' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
74
+ ControlParameter: OptionParser#summarize is controlled by argument blk [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
75
+ ControlParameter: OptionParser::Arguable#options= is controlled by argument opt [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
76
+ ControlParameter: OptionParser::ParseError#set_option is controlled by argument eq [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
77
+ DuplicateMethodCall: OptionParser#getopts calls result[opt] = false 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
78
+ DuplicateMethodCall: OptionParser#make_switch calls default_style.guess(arg = a) 4 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
79
+ DuplicateMethodCall: OptionParser#make_switch calls long << (o = q.downcase) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
80
+ DuplicateMethodCall: OptionParser#make_switch calls notwice(NilClass, klass, "type") 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
81
+ DuplicateMethodCall: OptionParser#make_switch calls notwice(if a ... end, klass, "type") 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
82
+ DuplicateMethodCall: OptionParser#make_switch calls pattern.method(:convert) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
83
+ DuplicateMethodCall: OptionParser#make_switch calls pattern.method(:convert).to_proc 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
84
+ DuplicateMethodCall: OptionParser#make_switch calls pattern.respond_to?(:convert) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
85
+ DuplicateMethodCall: OptionParser#make_switch calls q.downcase 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
86
+ DuplicateMethodCall: OptionParser#make_switch calls sdesc << "-#{q}" 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
87
+ DuplicateMethodCall: OptionParser#make_switch calls search(:atype, FalseClass) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
88
+ DuplicateMethodCall: OptionParser#make_switch calls search(:atype, o) 6 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
89
+ DuplicateMethodCall: OptionParser#order calls argv[0] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
90
+ DuplicateMethodCall: OptionParser#parse calls argv[0] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
91
+ DuplicateMethodCall: OptionParser#parse_in_order calls $!.set_option(arg, true) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
92
+ DuplicateMethodCall: OptionParser#parse_in_order calls cb.call(val) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
93
+ 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]
94
+ DuplicateMethodCall: OptionParser#parse_in_order calls raise(*exc) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
95
+ 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]
96
+ DuplicateMethodCall: OptionParser#parse_in_order calls sw.block 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
97
+ DuplicateMethodCall: OptionParser#parse_in_order calls sw.switch_name 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
98
+ DuplicateMethodCall: OptionParser#permute calls argv[0] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
99
+ DuplicateMethodCall: OptionParser::Completion#complete calls candidates.size 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
100
+ DuplicateMethodCall: OptionParser::Completion#complete calls k.id2name 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
101
+ DuplicateMethodCall: OptionParser::Switch#parse_arg calls s.length 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
102
+ DuplicateMethodCall: OptionParser::Switch#summarize calls indent + l 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
103
+ DuplicateMethodCall: OptionParser::Switch#summarize calls left.collect 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
104
+ DuplicateMethodCall: OptionParser::Switch#summarize calls left.collect do |s| ... end 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
105
+ DuplicateMethodCall: OptionParser::Switch#summarize calls left.collect do |s| ... end.max 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
106
+ DuplicateMethodCall: OptionParser::Switch#summarize calls left.collect do |s| ... end.max.to_i 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
107
+ DuplicateMethodCall: OptionParser::Switch#summarize calls left.shift 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
108
+ DuplicateMethodCall: OptionParser::Switch#summarize calls left[(-1)] 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
109
+ DuplicateMethodCall: OptionParser::Switch#summarize calls s.length 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
110
+ 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]
111
+ 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]
112
+ 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]
113
+ 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]
114
+ 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]
115
+ 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]
116
+ 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]
117
+ LongParameterList: OptionParser#complete has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
118
+ LongParameterList: OptionParser#summarize has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
119
+ LongParameterList: OptionParser::List#complete has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
120
+ LongParameterList: OptionParser::List#update has 5 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
121
+ LongParameterList: OptionParser::Switch#initialize has 7 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
122
+ LongParameterList: OptionParser::Switch#summarize has 5 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
123
+ ModuleInitialize: OptionParser::Arguable has initialize method [https://github.com/troessner/reek/blob/master/docs/Module-Initialize.md]
124
+ NestedIterators: OptionParser#make_switch contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
125
+ NilCheck: OptionParser#make_switch performs a nil-check [https://github.com/troessner/reek/blob/master/docs/Nil-Check.md]
126
+ NilCheck: OptionParser#self.inc performs a nil-check [https://github.com/troessner/reek/blob/master/docs/Nil-Check.md]
127
+ RepeatedConditional: OptionParser tests (argv.size == 1) && (Array === argv[0]) at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
128
+ RepeatedConditional: OptionParser tests a at least 7 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
129
+ RepeatedConditional: OptionParser tests default_pattern at least 7 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
130
+ RepeatedConditional: OptionParser tests not_style at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
131
+ RepeatedConditional: OptionParser tests s at least 7 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
132
+ TooManyInstanceVariables: OptionParser has at least 6 instance variables [https://github.com/troessner/reek/blob/master/docs/Too-Many-Instance-Variables.md]
133
+ TooManyInstanceVariables: OptionParser::Switch has at least 7 instance variables [https://github.com/troessner/reek/blob/master/docs/Too-Many-Instance-Variables.md]
134
+ TooManyMethods: OptionParser has at least 42 methods [https://github.com/troessner/reek/blob/master/docs/Too-Many-Methods.md]
135
+ TooManyStatements: OptionParser#complete has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
136
+ TooManyStatements: OptionParser#getopts has approx 18 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
137
+ TooManyStatements: OptionParser#load has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
138
+ TooManyStatements: OptionParser#make_switch has approx 72 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
139
+ TooManyStatements: OptionParser#parse_in_order has approx 35 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
140
+ TooManyStatements: OptionParser#permute! has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
141
+ TooManyStatements: OptionParser::Arguable#options has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
142
+ TooManyStatements: OptionParser::Completion#complete has approx 23 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
143
+ TooManyStatements: OptionParser::List#update has approx 10 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
144
+ TooManyStatements: OptionParser::Switch#parse_arg has approx 11 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
145
+ TooManyStatements: OptionParser::Switch#self.guess has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
146
+ TooManyStatements: OptionParser::Switch#summarize has approx 28 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
147
+ TooManyStatements: OptionParser::Switch::PlacedArgument#parse has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
148
+ UncommunicativeParameterName: OptionParser::List#accept has the parameter name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
149
+ UncommunicativeParameterName: OptionParser::List#reject has the parameter name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
150
+ UncommunicativeParameterName: OptionParser::Switch#self.incompatible_argument_styles has the parameter name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
151
+ UncommunicativeVariableName: OptionParser has the variable name 'f' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
152
+ UncommunicativeVariableName: OptionParser has the variable name 'k' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
153
+ UncommunicativeVariableName: OptionParser has the variable name 'o' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
154
+ UncommunicativeVariableName: OptionParser has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
155
+ UncommunicativeVariableName: OptionParser has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
156
+ UncommunicativeVariableName: OptionParser#load has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
157
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
158
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'c' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
159
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'n' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
160
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'o' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
161
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'q' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
162
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
163
+ UncommunicativeVariableName: OptionParser#make_switch has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
164
+ UncommunicativeVariableName: OptionParser#search has the variable name 'k' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
165
+ UncommunicativeVariableName: OptionParser#summarize has the variable name 'l' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
166
+ UncommunicativeVariableName: OptionParser#ver has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
167
+ UncommunicativeVariableName: OptionParser::Completion#complete has the variable name 'k' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
168
+ UncommunicativeVariableName: OptionParser::Completion#complete has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
169
+ UncommunicativeVariableName: OptionParser::List#update has the variable name 'o' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
170
+ UncommunicativeVariableName: OptionParser::Switch#add_banner has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
171
+ UncommunicativeVariableName: OptionParser::Switch#parse_arg has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
172
+ UncommunicativeVariableName: OptionParser::Switch#parse_arg has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
173
+ UncommunicativeVariableName: OptionParser::Switch#self.guess has the variable name 't' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
174
+ UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 'l' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
175
+ UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 'r' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
176
+ UncommunicativeVariableName: OptionParser::Switch#summarize has the variable name 's' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
177
+ UnusedParameters: OptionParser::Completion#convert has unused parameter 'opt' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
178
+ UnusedParameters: OptionParser::Switch::NoArgument#parse has unused parameter 'argv' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
179
+ UnusedParameters: OptionParser::Switch::OptionalArgument#parse has unused parameter 'argv' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
180
180
  redcloth.rb -- 101 warnings:
181
- RedCloth has at least 44 methods (TooManyMethods)
182
- RedCloth has the variable name 'a' (UncommunicativeVariableName)
183
- RedCloth has the variable name 'b' (UncommunicativeVariableName)
184
- RedCloth takes parameters [atts, cite, content, tag] to 3 methods (DataClump)
185
- RedCloth tests atts at least 6 times (RepeatedConditional)
186
- RedCloth tests codepre.zero? at least 3 times (RepeatedConditional)
187
- RedCloth tests href at least 3 times (RepeatedConditional)
188
- RedCloth tests title at least 4 times (RepeatedConditional)
189
- RedCloth#block_markdown_atx refers to text more than self (maybe move it to another class?) (FeatureEnvy)
190
- RedCloth#block_markdown_bq has approx 6 statements (TooManyStatements)
191
- RedCloth#block_markdown_lists has unused parameter 'text' (UnusedParameters)
192
- RedCloth#block_markdown_rule doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
193
- RedCloth#block_markdown_setext refers to text more than self (maybe move it to another class?) (FeatureEnvy)
194
- RedCloth#block_textile_lists calls depth.last 5 times (DuplicateMethodCall)
195
- RedCloth#block_textile_lists calls depth.last.length 2 times (DuplicateMethodCall)
196
- RedCloth#block_textile_lists calls depth[i] 2 times (DuplicateMethodCall)
197
- RedCloth#block_textile_lists calls line_id - 1 2 times (DuplicateMethodCall)
198
- RedCloth#block_textile_lists calls lines[line_id - 1] 2 times (DuplicateMethodCall)
199
- RedCloth#block_textile_lists calls tl.length 3 times (DuplicateMethodCall)
200
- RedCloth#block_textile_lists contains iterators nested 3 deep (NestedIterators)
201
- RedCloth#block_textile_lists has approx 21 statements (TooManyStatements)
202
- RedCloth#block_textile_lists has the variable name 'i' (UncommunicativeVariableName)
203
- RedCloth#block_textile_lists has the variable name 'v' (UncommunicativeVariableName)
204
- RedCloth#block_textile_lists refers to depth more than self (maybe move it to another class?) (FeatureEnvy)
205
- RedCloth#block_textile_table contains iterators nested 3 deep (NestedIterators)
206
- RedCloth#block_textile_table has approx 19 statements (TooManyStatements)
207
- RedCloth#block_textile_table has the variable name 'x' (UncommunicativeVariableName)
208
- RedCloth#blocks contains iterators nested 2 deep (NestedIterators)
209
- RedCloth#blocks has approx 19 statements (TooManyStatements)
210
- RedCloth#blocks has boolean parameter 'deep_code' (BooleanParameter)
211
- RedCloth#blocks is controlled by argument deep_code (ControlParameter)
212
- RedCloth#blocks refers to blk more than self (maybe move it to another class?) (FeatureEnvy)
213
- RedCloth#clean_html calls tags[tag] 2 times (DuplicateMethodCall)
214
- RedCloth#clean_html contains iterators nested 2 deep (NestedIterators)
215
- RedCloth#clean_html doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
216
- RedCloth#clean_html has approx 15 statements (TooManyStatements)
217
- RedCloth#clean_html has the variable name 'q' (UncommunicativeVariableName)
218
- RedCloth#clean_html has the variable name 'q2' (UncommunicativeVariableName)
219
- RedCloth#clean_white_space has approx 7 statements (TooManyStatements)
220
- RedCloth#clean_white_space refers to text more than self (maybe move it to another class?) (FeatureEnvy)
221
- RedCloth#filter_html is a writable attribute (Attribute)
222
- RedCloth#filter_styles is a writable attribute (Attribute)
223
- RedCloth#flush_left doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
224
- RedCloth#footnote_ref doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
225
- RedCloth#glyphs_textile has approx 10 statements (TooManyStatements)
226
- RedCloth#h_align doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
227
- RedCloth#hard_breaks is a writable attribute (Attribute)
228
- RedCloth#htmlesc doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
229
- RedCloth#htmlesc is controlled by argument mode (ControlParameter)
230
- RedCloth#incoming_entities doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
231
- RedCloth#initialize has the variable name 'r' (UncommunicativeVariableName)
232
- RedCloth#inline contains iterators nested 2 deep (NestedIterators)
233
- RedCloth#inline_markdown_link has approx 6 statements (TooManyStatements)
234
- RedCloth#inline_markdown_link has the variable name 'm' (UncommunicativeVariableName)
235
- RedCloth#inline_markdown_reflink has approx 8 statements (TooManyStatements)
236
- RedCloth#inline_markdown_reflink has the variable name 'm' (UncommunicativeVariableName)
237
- RedCloth#inline_textile_code has the variable name 'm' (UncommunicativeVariableName)
238
- RedCloth#inline_textile_image has approx 17 statements (TooManyStatements)
239
- RedCloth#inline_textile_image has the variable name 'href_a1' (UncommunicativeVariableName)
240
- RedCloth#inline_textile_image has the variable name 'href_a2' (UncommunicativeVariableName)
241
- RedCloth#inline_textile_image has the variable name 'm' (UncommunicativeVariableName)
242
- RedCloth#inline_textile_link has approx 9 statements (TooManyStatements)
243
- RedCloth#inline_textile_link has the variable name 'm' (UncommunicativeVariableName)
244
- RedCloth#inline_textile_span contains iterators nested 2 deep (NestedIterators)
245
- RedCloth#inline_textile_span has approx 9 statements (TooManyStatements)
246
- RedCloth#inline_textile_span has the variable name 'm' (UncommunicativeVariableName)
247
- RedCloth#lT doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
248
- RedCloth#lT has the name 'lT' (UncommunicativeMethodName)
249
- RedCloth#lT is controlled by argument text (ControlParameter)
250
- RedCloth#lite_mode is a writable attribute (Attribute)
251
- RedCloth#no_span_caps is a writable attribute (Attribute)
252
- RedCloth#no_textile doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
253
- RedCloth#pba calls $1.length 2 times (DuplicateMethodCall)
254
- RedCloth#pba has approx 21 statements (TooManyStatements)
255
- RedCloth#pba is controlled by argument element (ControlParameter)
256
- RedCloth#pba refers to text more than self (maybe move it to another class?) (FeatureEnvy)
257
- RedCloth#refs_markdown has the variable name 'm' (UncommunicativeVariableName)
258
- RedCloth#refs_textile has the variable name 'm' (UncommunicativeVariableName)
259
- RedCloth#retrieve has the variable name 'i' (UncommunicativeVariableName)
260
- RedCloth#retrieve has the variable name 'r' (UncommunicativeVariableName)
261
- RedCloth#rip_offtags calls (codepre - used_offtags.length) > 0 2 times (DuplicateMethodCall)
262
- RedCloth#rip_offtags calls @pre_list.last 2 times (DuplicateMethodCall)
263
- RedCloth#rip_offtags calls @pre_list.last << line 2 times (DuplicateMethodCall)
264
- RedCloth#rip_offtags calls codepre - used_offtags.length 2 times (DuplicateMethodCall)
265
- RedCloth#rip_offtags calls codepre.zero? 2 times (DuplicateMethodCall)
266
- RedCloth#rip_offtags calls htmlesc(line, :NoQuotes) 2 times (DuplicateMethodCall)
267
- RedCloth#rip_offtags calls used_offtags.length 2 times (DuplicateMethodCall)
268
- RedCloth#rip_offtags calls used_offtags["notextile"] 3 times (DuplicateMethodCall)
269
- RedCloth#rip_offtags has approx 18 statements (TooManyStatements)
270
- RedCloth#rules is a writable attribute (Attribute)
271
- RedCloth#textile_bq has 4 parameters (LongParameterList)
272
- RedCloth#textile_bq has unused parameter 'tag' (UnusedParameters)
273
- RedCloth#textile_fn_ has 5 parameters (LongParameterList)
274
- RedCloth#textile_fn_ has unused parameter 'cite' (UnusedParameters)
275
- RedCloth#textile_fn_ has unused parameter 'tag' (UnusedParameters)
276
- RedCloth#textile_p has 4 parameters (LongParameterList)
277
- RedCloth#textile_p has unused parameter 'cite' (UnusedParameters)
278
- RedCloth#textile_popup_help has the parameter name 'windowH' (UncommunicativeParameterName)
279
- RedCloth#textile_popup_help has the parameter name 'windowW' (UncommunicativeParameterName)
280
- RedCloth#to_html has approx 26 statements (TooManyStatements)
281
- RedCloth#v_align doesn't depend on instance state (maybe move it to another class?) (UtilityFunction)
181
+ Attribute: RedCloth#filter_html is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
182
+ Attribute: RedCloth#filter_styles is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
183
+ Attribute: RedCloth#hard_breaks is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
184
+ Attribute: RedCloth#lite_mode is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
185
+ Attribute: RedCloth#no_span_caps is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
186
+ Attribute: RedCloth#rules is a writable attribute [https://github.com/troessner/reek/blob/master/docs/Attribute.md]
187
+ BooleanParameter: RedCloth#blocks has boolean parameter 'deep_code' [https://github.com/troessner/reek/blob/master/docs/Boolean-Parameter.md]
188
+ ControlParameter: RedCloth#blocks is controlled by argument deep_code [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
189
+ ControlParameter: RedCloth#htmlesc is controlled by argument mode [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
190
+ ControlParameter: RedCloth#lT is controlled by argument text [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
191
+ ControlParameter: RedCloth#pba is controlled by argument element [https://github.com/troessner/reek/blob/master/docs/Control-Parameter.md]
192
+ DataClump: RedCloth takes parameters [atts, cite, content, tag] to 3 methods [https://github.com/troessner/reek/blob/master/docs/Data-Clump.md]
193
+ DuplicateMethodCall: RedCloth#block_textile_lists calls depth.last 5 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
194
+ DuplicateMethodCall: RedCloth#block_textile_lists calls depth.last.length 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
195
+ DuplicateMethodCall: RedCloth#block_textile_lists calls depth[i] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
196
+ DuplicateMethodCall: RedCloth#block_textile_lists calls line_id - 1 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
197
+ DuplicateMethodCall: RedCloth#block_textile_lists calls lines[line_id - 1] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
198
+ DuplicateMethodCall: RedCloth#block_textile_lists calls tl.length 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
199
+ DuplicateMethodCall: RedCloth#clean_html calls tags[tag] 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
200
+ DuplicateMethodCall: RedCloth#pba calls $1.length 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
201
+ DuplicateMethodCall: RedCloth#rip_offtags calls (codepre - used_offtags.length) > 0 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
202
+ DuplicateMethodCall: RedCloth#rip_offtags calls @pre_list.last 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
203
+ DuplicateMethodCall: RedCloth#rip_offtags calls @pre_list.last << line 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
204
+ DuplicateMethodCall: RedCloth#rip_offtags calls codepre - used_offtags.length 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
205
+ DuplicateMethodCall: RedCloth#rip_offtags calls codepre.zero? 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
206
+ DuplicateMethodCall: RedCloth#rip_offtags calls htmlesc(line, :NoQuotes) 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
207
+ DuplicateMethodCall: RedCloth#rip_offtags calls used_offtags.length 2 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
208
+ DuplicateMethodCall: RedCloth#rip_offtags calls used_offtags["notextile"] 3 times [https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md]
209
+ 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]
210
+ 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]
211
+ 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]
212
+ 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]
213
+ 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]
214
+ 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]
215
+ LongParameterList: RedCloth#textile_bq has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
216
+ LongParameterList: RedCloth#textile_fn_ has 5 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
217
+ LongParameterList: RedCloth#textile_p has 4 parameters [https://github.com/troessner/reek/blob/master/docs/Long-Parameter-List.md]
218
+ NestedIterators: RedCloth#block_textile_lists contains iterators nested 3 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
219
+ NestedIterators: RedCloth#block_textile_table contains iterators nested 3 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
220
+ NestedIterators: RedCloth#blocks contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
221
+ NestedIterators: RedCloth#clean_html contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
222
+ NestedIterators: RedCloth#inline contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
223
+ NestedIterators: RedCloth#inline_textile_span contains iterators nested 2 deep [https://github.com/troessner/reek/blob/master/docs/Nested-Iterators.md]
224
+ RepeatedConditional: RedCloth tests atts at least 6 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
225
+ RepeatedConditional: RedCloth tests codepre.zero? at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
226
+ RepeatedConditional: RedCloth tests href at least 3 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
227
+ RepeatedConditional: RedCloth tests title at least 4 times [https://github.com/troessner/reek/blob/master/docs/Repeated-Conditional.md]
228
+ TooManyMethods: RedCloth has at least 44 methods [https://github.com/troessner/reek/blob/master/docs/Too-Many-Methods.md]
229
+ TooManyStatements: RedCloth#block_markdown_bq has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
230
+ TooManyStatements: RedCloth#block_textile_lists has approx 21 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
231
+ TooManyStatements: RedCloth#block_textile_table has approx 19 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
232
+ TooManyStatements: RedCloth#blocks has approx 19 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
233
+ TooManyStatements: RedCloth#clean_html has approx 15 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
234
+ TooManyStatements: RedCloth#clean_white_space has approx 7 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
235
+ TooManyStatements: RedCloth#glyphs_textile has approx 10 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
236
+ TooManyStatements: RedCloth#inline_markdown_link has approx 6 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
237
+ TooManyStatements: RedCloth#inline_markdown_reflink has approx 8 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
238
+ TooManyStatements: RedCloth#inline_textile_image has approx 17 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
239
+ TooManyStatements: RedCloth#inline_textile_link has approx 9 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
240
+ TooManyStatements: RedCloth#inline_textile_span has approx 9 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
241
+ TooManyStatements: RedCloth#pba has approx 21 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
242
+ TooManyStatements: RedCloth#rip_offtags has approx 18 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
243
+ TooManyStatements: RedCloth#to_html has approx 26 statements [https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md]
244
+ UncommunicativeMethodName: RedCloth#lT has the name 'lT' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Method-Name.md]
245
+ UncommunicativeParameterName: RedCloth#textile_popup_help has the parameter name 'windowH' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
246
+ UncommunicativeParameterName: RedCloth#textile_popup_help has the parameter name 'windowW' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Parameter-Name.md]
247
+ UncommunicativeVariableName: RedCloth has the variable name 'a' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
248
+ UncommunicativeVariableName: RedCloth has the variable name 'b' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
249
+ UncommunicativeVariableName: RedCloth#block_textile_lists has the variable name 'i' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
250
+ UncommunicativeVariableName: RedCloth#block_textile_lists has the variable name 'v' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
251
+ UncommunicativeVariableName: RedCloth#block_textile_table has the variable name 'x' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
252
+ UncommunicativeVariableName: RedCloth#clean_html has the variable name 'q' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
253
+ UncommunicativeVariableName: RedCloth#clean_html has the variable name 'q2' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
254
+ UncommunicativeVariableName: RedCloth#initialize has the variable name 'r' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
255
+ UncommunicativeVariableName: RedCloth#inline_markdown_link has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
256
+ UncommunicativeVariableName: RedCloth#inline_markdown_reflink has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
257
+ UncommunicativeVariableName: RedCloth#inline_textile_code has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
258
+ UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'href_a1' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
259
+ UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'href_a2' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
260
+ UncommunicativeVariableName: RedCloth#inline_textile_image has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
261
+ UncommunicativeVariableName: RedCloth#inline_textile_link has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
262
+ UncommunicativeVariableName: RedCloth#inline_textile_span has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
263
+ UncommunicativeVariableName: RedCloth#refs_markdown has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
264
+ UncommunicativeVariableName: RedCloth#refs_textile has the variable name 'm' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
265
+ UncommunicativeVariableName: RedCloth#retrieve has the variable name 'i' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
266
+ UncommunicativeVariableName: RedCloth#retrieve has the variable name 'r' [https://github.com/troessner/reek/blob/master/docs/Uncommunicative-Variable-Name.md]
267
+ UnusedParameters: RedCloth#block_markdown_lists has unused parameter 'text' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
268
+ UnusedParameters: RedCloth#textile_bq has unused parameter 'tag' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
269
+ UnusedParameters: RedCloth#textile_fn_ has unused parameter 'cite' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
270
+ UnusedParameters: RedCloth#textile_fn_ has unused parameter 'tag' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
271
+ UnusedParameters: RedCloth#textile_p has unused parameter 'cite' [https://github.com/troessner/reek/blob/master/docs/Unused-Parameters.md]
272
+ 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]
273
+ 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]
274
+ 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]
275
+ 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]
276
+ 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]
277
+ 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]
278
+ 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]
279
+ 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]
280
+ 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]
281
+ 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]
282
282
  265 total warnings
283
283
  """