reek 4.7.3 → 5.0.0
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.
- checksums.yaml +4 -4
- data/.codeclimate.yml +17 -12
- data/.rubocop.yml +18 -3
- data/.simplecov +1 -0
- data/.travis.yml +3 -4
- data/.yardopts +1 -1
- data/CHANGELOG.md +45 -0
- data/Gemfile +4 -4
- data/README.md +134 -104
- data/Rakefile +16 -3
- data/bin/reek +1 -3
- data/docs/API.md +2 -9
- data/docs/Basic-Smell-Options.md +51 -11
- data/docs/Code-Smells.md +1 -1
- data/docs/Command-Line-Options.md +14 -4
- data/docs/Duplicate-Method-Call.md +49 -1
- data/docs/Feature-Envy.md +44 -0
- data/docs/How-To-Write-New-Detectors.md +2 -3
- data/docs/Instance-Variable-Assumption.md +1 -1
- data/docs/{Prima-Donna-Method.md → Missing-Safe-Method.md} +11 -9
- data/docs/Rake-Task.md +1 -1
- data/docs/Reek-4-to-Reek-5-migration.md +193 -0
- data/docs/Reek-Driven-Development.md +1 -1
- data/docs/Uncommunicative-Method-Name.md +45 -6
- data/docs/Uncommunicative-Module-Name.md +49 -7
- data/docs/Uncommunicative-Parameter-Name.md +43 -5
- data/docs/Uncommunicative-Variable-Name.md +73 -2
- data/docs/Unused-Private-Method.md +2 -2
- data/docs/defaults.reek.yml +129 -0
- data/docs/yard_plugin.rb +1 -0
- data/features/command_line_interface/basic_usage.feature +2 -2
- data/features/command_line_interface/options.feature +46 -4
- data/features/command_line_interface/show_progress.feature +4 -4
- data/features/command_line_interface/smell_selection.feature +1 -1
- data/features/command_line_interface/smells_count.feature +6 -6
- data/features/command_line_interface/stdin.feature +30 -8
- data/features/configuration_files/accept_setting.feature +45 -28
- data/features/configuration_files/directory_specific_directives.feature +78 -73
- data/features/configuration_files/exclude_directives.feature +11 -10
- data/features/configuration_files/exclude_paths_directives.feature +4 -4
- data/features/configuration_files/masking_smells.feature +38 -9
- data/features/configuration_files/mix_accept_reject_setting.feature +31 -28
- data/features/configuration_files/reject_setting.feature +52 -41
- data/features/configuration_files/schema_validation.feature +59 -0
- data/features/configuration_files/unused_private_method.feature +18 -16
- data/features/configuration_loading.feature +53 -10
- data/features/configuration_via_source_comments/erroneous_source_comments.feature +2 -2
- data/features/configuration_via_source_comments/well_formed_source_comments.feature +2 -2
- data/features/locales.feature +2 -2
- data/features/rake_task/rake_task.feature +15 -15
- data/features/reports/json.feature +3 -3
- data/features/reports/reports.feature +34 -34
- data/features/reports/yaml.feature +3 -3
- data/features/rspec_matcher.feature +9 -1
- data/features/samples.feature +287 -287
- data/features/step_definitions/reek_steps.rb +4 -0
- data/features/step_definitions/sample_file_steps.rb +9 -4
- data/features/support/env.rb +2 -2
- data/features/todo_list.feature +26 -23
- data/lib/reek/ast/node.rb +40 -55
- data/lib/reek/ast/object_refs.rb +1 -1
- data/lib/reek/ast/reference_collector.rb +2 -4
- data/lib/reek/ast/sexp_extensions/case.rb +1 -1
- data/lib/reek/ast/sexp_extensions/if.rb +8 -1
- data/lib/reek/ast/sexp_extensions/logical_operators.rb +1 -1
- data/lib/reek/ast/sexp_extensions/methods.rb +4 -6
- data/lib/reek/cli/application.rb +4 -3
- data/lib/reek/cli/command/report_command.rb +1 -2
- data/lib/reek/cli/command/todo_list_command.rb +8 -8
- data/lib/reek/cli/options.rb +29 -14
- data/lib/reek/cli/silencer.rb +14 -3
- data/lib/reek/code_comment.rb +14 -16
- data/lib/reek/configuration/app_configuration.rb +32 -28
- data/lib/reek/configuration/configuration_converter.rb +110 -0
- data/lib/reek/configuration/configuration_file_finder.rb +15 -40
- data/lib/reek/configuration/configuration_validator.rb +12 -23
- data/lib/reek/configuration/default_directive.rb +17 -3
- data/lib/reek/configuration/directory_directives.rb +17 -11
- data/lib/reek/configuration/excluded_paths.rb +1 -1
- data/lib/reek/configuration/rake_task_converter.rb +29 -0
- data/lib/reek/configuration/schema.yml +210 -0
- data/lib/reek/configuration/schema_validator.rb +38 -0
- data/lib/reek/context/attribute_context.rb +1 -1
- data/lib/reek/context/code_context.rb +8 -11
- data/lib/reek/context/method_context.rb +7 -12
- data/lib/reek/context/module_context.rb +4 -4
- data/lib/reek/context_builder.rb +11 -11
- data/lib/reek/detector_repository.rb +6 -0
- data/lib/reek/documentation_link.rb +28 -0
- data/lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb +13 -12
- data/lib/reek/errors/bad_detector_in_comment_error.rb +11 -10
- data/lib/reek/errors/base_error.rb +3 -0
- data/lib/reek/errors/config_file_error.rb +11 -0
- data/lib/reek/errors/encoding_error.rb +16 -11
- data/lib/reek/errors/garbage_detector_configuration_in_comment_error.rb +11 -10
- data/lib/reek/errors/incomprehensible_source_error.rb +20 -22
- data/lib/reek/errors/syntax_error.rb +41 -0
- data/lib/reek/examiner.rb +19 -25
- data/lib/reek/logging_error_handler.rb +7 -5
- data/lib/reek/rake/task.rb +3 -3
- data/lib/reek/report/base_report.rb +8 -12
- data/lib/reek/report/code_climate/code_climate_configuration.rb +1 -1
- data/lib/reek/report/code_climate/code_climate_configuration.yml +6 -10
- data/lib/reek/report/documentation_link_warning_formatter.rb +17 -0
- data/lib/reek/report/heading_formatter.rb +54 -0
- data/lib/reek/report/json_report.rb +1 -1
- data/lib/reek/report/location_formatter.rb +40 -0
- data/lib/reek/report/progress_formatter.rb +79 -0
- data/lib/reek/report/simple_warning_formatter.rb +34 -0
- data/lib/reek/report/text_report.rb +1 -2
- data/lib/reek/report/xml_report.rb +3 -3
- data/lib/reek/report/yaml_report.rb +1 -1
- data/lib/reek/report.rb +15 -10
- data/lib/reek/smell_configuration.rb +2 -2
- data/lib/reek/smell_detectors/attribute.rb +0 -1
- data/lib/reek/smell_detectors/base_detector.rb +9 -12
- data/lib/reek/smell_detectors/boolean_parameter.rb +0 -1
- data/lib/reek/smell_detectors/class_variable.rb +3 -11
- data/lib/reek/smell_detectors/control_parameter.rb +17 -32
- data/lib/reek/smell_detectors/data_clump.rb +3 -4
- data/lib/reek/smell_detectors/duplicate_method_call.rb +6 -7
- data/lib/reek/smell_detectors/feature_envy.rb +1 -1
- data/lib/reek/smell_detectors/instance_variable_assumption.rb +1 -10
- data/lib/reek/smell_detectors/irresponsible_module.rb +0 -1
- data/lib/reek/smell_detectors/long_parameter_list.rb +1 -2
- data/lib/reek/smell_detectors/long_yield_list.rb +2 -3
- data/lib/reek/smell_detectors/manual_dispatch.rb +3 -3
- data/lib/reek/smell_detectors/{prima_donna_method.rb → missing_safe_method.rb} +6 -7
- data/lib/reek/smell_detectors/module_initialize.rb +1 -2
- data/lib/reek/smell_detectors/nested_iterators.rb +6 -6
- data/lib/reek/smell_detectors/nil_check.rb +0 -1
- data/lib/reek/smell_detectors/repeated_conditional.rb +3 -4
- data/lib/reek/smell_detectors/subclassed_from_core_class.rb +0 -1
- data/lib/reek/smell_detectors/too_many_constants.rb +2 -3
- data/lib/reek/smell_detectors/too_many_instance_variables.rb +1 -2
- data/lib/reek/smell_detectors/too_many_methods.rb +1 -2
- data/lib/reek/smell_detectors/too_many_statements.rb +1 -2
- data/lib/reek/smell_detectors/uncommunicative_method_name.rb +2 -3
- data/lib/reek/smell_detectors/uncommunicative_module_name.rb +2 -3
- data/lib/reek/smell_detectors/uncommunicative_parameter_name.rb +2 -3
- data/lib/reek/smell_detectors/uncommunicative_variable_name.rb +6 -7
- data/lib/reek/smell_detectors/unused_parameters.rb +0 -1
- data/lib/reek/smell_detectors/unused_private_method.rb +0 -1
- data/lib/reek/smell_detectors/utility_function.rb +2 -3
- data/lib/reek/smell_detectors.rb +1 -2
- data/lib/reek/smell_warning.rb +15 -8
- data/lib/reek/source/source_code.rb +50 -72
- data/lib/reek/source/source_locator.rb +7 -7
- data/lib/reek/spec/should_reek.rb +2 -2
- data/lib/reek/spec/should_reek_of.rb +9 -16
- data/lib/reek/spec/should_reek_only_of.rb +4 -4
- data/lib/reek/spec.rb +6 -6
- data/lib/reek/tree_dresser.rb +5 -5
- data/lib/reek/version.rb +1 -1
- data/reek.gemspec +5 -5
- data/samples/checkstyle.xml +1 -1
- data/samples/configuration/accepts_rejects_and_excludes_for_detectors.reek.yml +29 -0
- data/samples/configuration/accepts_rejects_and_excludes_for_directory_directives.reek.yml +30 -0
- data/samples/configuration/full_configuration.reek +8 -4
- data/samples/configuration/full_mask.reek +5 -4
- data/samples/configuration/partial_mask.reek +3 -2
- data/samples/configuration/regular_configuration/.reek.yml +4 -0
- data/samples/paths.rb +5 -4
- data/samples/source_with_hidden_directories/.hidden/hidden.rb +1 -0
- data/samples/source_with_hidden_directories/not_hidden.rb +1 -0
- data/spec/factories/factories.rb +2 -13
- data/spec/reek/ast/node_spec.rb +103 -10
- data/spec/reek/ast/reference_collector_spec.rb +1 -1
- data/spec/reek/ast/sexp_extensions_spec.rb +2 -2
- data/spec/reek/cli/application_spec.rb +50 -38
- data/spec/reek/cli/command/todo_list_command_spec.rb +6 -4
- data/spec/reek/cli/silencer_spec.rb +28 -0
- data/spec/reek/code_comment_spec.rb +31 -38
- data/spec/reek/configuration/app_configuration_spec.rb +46 -33
- data/spec/reek/configuration/configuration_file_finder_spec.rb +133 -49
- data/spec/reek/configuration/default_directive_spec.rb +1 -1
- data/spec/reek/configuration/directory_directives_spec.rb +6 -7
- data/spec/reek/configuration/excluded_paths_spec.rb +6 -6
- data/spec/reek/configuration/rake_task_converter_spec.rb +33 -0
- data/spec/reek/configuration/schema_validator_spec.rb +165 -0
- data/spec/reek/context/code_context_spec.rb +60 -96
- data/spec/reek/context/ghost_context_spec.rb +1 -1
- data/spec/reek/context/root_context_spec.rb +1 -1
- data/spec/reek/documentation_link_spec.rb +20 -0
- data/spec/reek/errors/base_error_spec.rb +13 -0
- data/spec/reek/examiner_spec.rb +100 -30
- data/spec/reek/report/code_climate/code_climate_fingerprint_spec.rb +82 -80
- data/spec/reek/report/code_climate/code_climate_formatter_spec.rb +6 -6
- data/spec/reek/report/json_report_spec.rb +13 -46
- data/spec/reek/report/{formatter/location_formatter_spec.rb → location_formatter_spec.rb} +5 -5
- data/spec/reek/report/{formatter/progress_formatter_spec.rb → progress_formatter_spec.rb} +4 -4
- data/spec/reek/report/text_report_spec.rb +4 -4
- data/spec/reek/report/xml_report_spec.rb +3 -3
- data/spec/reek/report/yaml_report_spec.rb +9 -38
- data/spec/reek/report_spec.rb +3 -3
- data/spec/reek/smell_detectors/boolean_parameter_spec.rb +2 -2
- data/spec/reek/smell_detectors/class_variable_spec.rb +26 -32
- data/spec/reek/smell_detectors/control_parameter_spec.rb +34 -4
- data/spec/reek/smell_detectors/duplicate_method_call_spec.rb +3 -3
- data/spec/reek/smell_detectors/feature_envy_spec.rb +47 -2
- data/spec/reek/smell_detectors/{prima_donna_method_spec.rb → missing_safe_method_spec.rb} +9 -9
- data/spec/reek/smell_detectors/module_initialize_spec.rb +14 -0
- data/spec/reek/smell_detectors/nested_iterators_spec.rb +1 -1
- data/spec/reek/smell_detectors/too_many_constants_spec.rb +3 -3
- data/spec/reek/smell_detectors/too_many_instance_variables_spec.rb +1 -1
- data/spec/reek/smell_detectors/uncommunicative_method_name_spec.rb +6 -6
- data/spec/reek/smell_detectors/uncommunicative_module_name_spec.rb +6 -4
- data/spec/reek/smell_detectors/uncommunicative_parameter_name_spec.rb +6 -4
- data/spec/reek/smell_detectors/uncommunicative_variable_name_spec.rb +9 -9
- data/spec/reek/smell_detectors/unused_parameters_spec.rb +3 -3
- data/spec/reek/smell_detectors/unused_private_method_spec.rb +10 -10
- data/spec/reek/smell_detectors/utility_function_spec.rb +5 -5
- data/spec/reek/smell_warning_spec.rb +12 -8
- data/spec/reek/source/source_code_spec.rb +17 -43
- data/spec/reek/source/source_locator_spec.rb +17 -17
- data/spec/reek/spec/should_reek_of_spec.rb +7 -11
- data/spec/reek/spec/should_reek_only_of_spec.rb +2 -2
- data/spec/reek/spec/should_reek_spec.rb +3 -3
- data/spec/reek/spec/smell_matcher_spec.rb +3 -3
- data/spec/reek/tree_dresser_spec.rb +12 -17
- data/spec/spec_helper.rb +6 -17
- data/tasks/configuration.rake +8 -5
- metadata +71 -41
- data/defaults.reek +0 -131
- data/features/configuration_files/warn_about_multiple_configuration_files.feature +0 -44
- data/lib/reek/report/formatter/heading_formatter.rb +0 -52
- data/lib/reek/report/formatter/location_formatter.rb +0 -42
- data/lib/reek/report/formatter/progress_formatter.rb +0 -81
- data/lib/reek/report/formatter/simple_warning_formatter.rb +0 -35
- data/lib/reek/report/formatter/wiki_link_warning_formatter.rb +0 -36
- data/lib/reek/report/formatter.rb +0 -33
- data/lib/reek/smell_detectors/syntax.rb +0 -37
- data/samples/configuration/non_public_modifiers_mask.reek +0 -3
- data/samples/smelly_with_inline_mask.rb +0 -8
- data/samples/smelly_with_modifiers.rb +0 -12
- data/samples/source_with_hidden_directories/.hidden/uncommunicative_method_name.rb +0 -5
- data/samples/source_with_non_ruby_files/uncommunicative_parameter_name.rb +0 -6
- data/spec/reek/smell_detectors/syntax_spec.rb +0 -17
- /data/{samples/configuration/more_than_one_configuration_file/regular.reek → .reek.yml} +0 -0
- /data/samples/{clean.rb → clean_source/clean.rb} +0 -0
- /data/samples/{exceptions.reek → configuration/home/home.reek.yml} +0 -0
- /data/samples/configuration/{more_than_one_configuration_file/todo.reek → regular_configuration/empty_sub_directory/.gitignore} +0 -0
- /data/samples/{configuration/single_configuration_file/.reek → no_config_file/.keep} +0 -0
- /data/samples/{inline.rb → smelly_source/inline.rb} +0 -0
- /data/samples/{optparse.rb → smelly_source/optparse.rb} +0 -0
- /data/samples/{redcloth.rb → smelly_source/redcloth.rb} +0 -0
- /data/samples/{smelly.rb → smelly_source/smelly.rb} +0 -0
- /data/samples/{source_with_hidden_directories/uncommunicative_parameter_name.rb → source_with_non_ruby_files/ruby.rb} +0 -0
data/features/samples.feature
CHANGED
|
@@ -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'
|
|
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?)
|
|
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
|
|
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'
|
|
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
|
|
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?)
|
|
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
|
"""
|