reek 4.6.1 → 4.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +20 -0
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile +2 -2
  5. data/README.md +3 -2
  6. data/bin/code_climate_reek +1 -0
  7. data/bin/reek +1 -0
  8. data/lib/reek.rb +1 -0
  9. data/lib/reek/ast/ast_node_class_map.rb +1 -0
  10. data/lib/reek/ast/builder.rb +16 -0
  11. data/lib/reek/ast/node.rb +1 -0
  12. data/lib/reek/ast/object_refs.rb +1 -0
  13. data/lib/reek/ast/reference_collector.rb +1 -0
  14. data/lib/reek/ast/sexp_extensions.rb +1 -0
  15. data/lib/reek/ast/sexp_extensions/arguments.rb +1 -0
  16. data/lib/reek/ast/sexp_extensions/attribute_assignments.rb +1 -0
  17. data/lib/reek/ast/sexp_extensions/block.rb +1 -0
  18. data/lib/reek/ast/sexp_extensions/case.rb +1 -0
  19. data/lib/reek/ast/sexp_extensions/constant.rb +1 -0
  20. data/lib/reek/ast/sexp_extensions/if.rb +1 -0
  21. data/lib/reek/ast/sexp_extensions/lambda.rb +1 -0
  22. data/lib/reek/ast/sexp_extensions/literal.rb +1 -0
  23. data/lib/reek/ast/sexp_extensions/logical_operators.rb +1 -0
  24. data/lib/reek/ast/sexp_extensions/methods.rb +1 -0
  25. data/lib/reek/ast/sexp_extensions/module.rb +1 -0
  26. data/lib/reek/ast/sexp_extensions/nested_assignables.rb +1 -0
  27. data/lib/reek/ast/sexp_extensions/self.rb +1 -0
  28. data/lib/reek/ast/sexp_extensions/send.rb +1 -0
  29. data/lib/reek/ast/sexp_extensions/super.rb +1 -0
  30. data/lib/reek/ast/sexp_extensions/symbols.rb +1 -0
  31. data/lib/reek/ast/sexp_extensions/variables.rb +1 -0
  32. data/lib/reek/ast/sexp_extensions/when.rb +1 -0
  33. data/lib/reek/ast/sexp_extensions/yield.rb +1 -0
  34. data/lib/reek/cli/application.rb +1 -0
  35. data/lib/reek/cli/command/base_command.rb +1 -0
  36. data/lib/reek/cli/command/report_command.rb +1 -0
  37. data/lib/reek/cli/command/todo_list_command.rb +1 -0
  38. data/lib/reek/cli/options.rb +1 -0
  39. data/lib/reek/cli/silencer.rb +1 -0
  40. data/lib/reek/cli/status.rb +1 -0
  41. data/lib/reek/configuration/app_configuration.rb +1 -0
  42. data/lib/reek/configuration/configuration_file_finder.rb +1 -0
  43. data/lib/reek/configuration/configuration_validator.rb +1 -0
  44. data/lib/reek/configuration/default_directive.rb +1 -0
  45. data/lib/reek/configuration/directory_directives.rb +1 -0
  46. data/lib/reek/configuration/excluded_paths.rb +1 -0
  47. data/lib/reek/context/attribute_context.rb +1 -0
  48. data/lib/reek/context/class_context.rb +1 -0
  49. data/lib/reek/context/code_context.rb +2 -1
  50. data/lib/reek/context/ghost_context.rb +1 -0
  51. data/lib/reek/context/method_context.rb +5 -4
  52. data/lib/reek/context/module_context.rb +1 -0
  53. data/lib/reek/context/root_context.rb +1 -0
  54. data/lib/reek/context/send_context.rb +1 -0
  55. data/lib/reek/context/singleton_attribute_context.rb +1 -0
  56. data/lib/reek/context/singleton_method_context.rb +1 -0
  57. data/lib/reek/context/statement_counter.rb +1 -0
  58. data/lib/reek/context/visibility_tracker.rb +1 -0
  59. data/lib/reek/context_builder.rb +1 -0
  60. data/lib/reek/detector_repository.rb +1 -0
  61. data/lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb +1 -0
  62. data/lib/reek/errors/bad_detector_in_comment_error.rb +1 -0
  63. data/lib/reek/errors/garbage_detector_configuration_in_comment_error.rb +1 -0
  64. data/lib/reek/errors/incomprehensible_source_error.rb +1 -0
  65. data/lib/reek/errors/parse_error.rb +1 -0
  66. data/lib/reek/examiner.rb +1 -0
  67. data/lib/reek/logging_error_handler.rb +1 -0
  68. data/lib/reek/report.rb +1 -0
  69. data/lib/reek/report/base_report.rb +1 -0
  70. data/lib/reek/report/code_climate.rb +1 -0
  71. data/lib/reek/report/code_climate/code_climate_configuration.rb +1 -0
  72. data/lib/reek/report/code_climate/code_climate_fingerprint.rb +1 -0
  73. data/lib/reek/report/code_climate/code_climate_formatter.rb +1 -0
  74. data/lib/reek/report/code_climate/code_climate_report.rb +1 -0
  75. data/lib/reek/report/formatter.rb +1 -0
  76. data/lib/reek/report/formatter/heading_formatter.rb +1 -0
  77. data/lib/reek/report/formatter/location_formatter.rb +1 -0
  78. data/lib/reek/report/formatter/progress_formatter.rb +1 -0
  79. data/lib/reek/report/formatter/wiki_link_warning_formatter.rb +1 -0
  80. data/lib/reek/report/html_report.rb +1 -0
  81. data/lib/reek/report/json_report.rb +1 -0
  82. data/lib/reek/report/text_report.rb +1 -0
  83. data/lib/reek/report/xml_report.rb +1 -0
  84. data/lib/reek/report/yaml_report.rb +1 -0
  85. data/lib/reek/smell_configuration.rb +1 -0
  86. data/lib/reek/smell_detectors.rb +1 -0
  87. data/lib/reek/smell_detectors/attribute.rb +1 -0
  88. data/lib/reek/smell_detectors/base_detector.rb +1 -0
  89. data/lib/reek/smell_detectors/boolean_parameter.rb +1 -0
  90. data/lib/reek/smell_detectors/class_variable.rb +1 -0
  91. data/lib/reek/smell_detectors/control_parameter.rb +1 -0
  92. data/lib/reek/smell_detectors/data_clump.rb +1 -0
  93. data/lib/reek/smell_detectors/duplicate_method_call.rb +1 -0
  94. data/lib/reek/smell_detectors/feature_envy.rb +1 -0
  95. data/lib/reek/smell_detectors/instance_variable_assumption.rb +1 -0
  96. data/lib/reek/smell_detectors/irresponsible_module.rb +1 -0
  97. data/lib/reek/smell_detectors/long_parameter_list.rb +1 -0
  98. data/lib/reek/smell_detectors/long_yield_list.rb +1 -0
  99. data/lib/reek/smell_detectors/manual_dispatch.rb +1 -0
  100. data/lib/reek/smell_detectors/module_initialize.rb +1 -0
  101. data/lib/reek/smell_detectors/nested_iterators.rb +1 -0
  102. data/lib/reek/smell_detectors/nil_check.rb +1 -0
  103. data/lib/reek/smell_detectors/prima_donna_method.rb +1 -0
  104. data/lib/reek/smell_detectors/repeated_conditional.rb +1 -0
  105. data/lib/reek/smell_detectors/subclassed_from_core_class.rb +1 -0
  106. data/lib/reek/smell_detectors/too_many_constants.rb +1 -0
  107. data/lib/reek/smell_detectors/too_many_instance_variables.rb +1 -0
  108. data/lib/reek/smell_detectors/too_many_methods.rb +1 -0
  109. data/lib/reek/smell_detectors/too_many_statements.rb +1 -0
  110. data/lib/reek/smell_detectors/uncommunicative_method_name.rb +1 -0
  111. data/lib/reek/smell_detectors/uncommunicative_module_name.rb +1 -0
  112. data/lib/reek/smell_detectors/uncommunicative_parameter_name.rb +1 -0
  113. data/lib/reek/smell_detectors/uncommunicative_variable_name.rb +1 -0
  114. data/lib/reek/smell_detectors/unused_parameters.rb +1 -0
  115. data/lib/reek/smell_detectors/unused_private_method.rb +3 -2
  116. data/lib/reek/smell_detectors/utility_function.rb +1 -0
  117. data/lib/reek/smell_warning.rb +1 -0
  118. data/lib/reek/source/source_code.rb +17 -3
  119. data/lib/reek/source/source_locator.rb +1 -0
  120. data/lib/reek/spec.rb +1 -0
  121. data/lib/reek/spec/should_reek.rb +1 -0
  122. data/lib/reek/spec/should_reek_of.rb +1 -0
  123. data/lib/reek/spec/should_reek_only_of.rb +1 -0
  124. data/lib/reek/spec/smell_matcher.rb +2 -1
  125. data/lib/reek/tree_dresser.rb +1 -0
  126. data/lib/reek/version.rb +2 -1
  127. data/reek.gemspec +2 -1
  128. data/spec/reek/ast/sexp_extensions_spec.rb +1 -0
  129. data/spec/reek/context/statement_counter_spec.rb +1 -0
  130. data/spec/reek/examiner_spec.rb +1 -0
  131. data/spec/reek/report/code_climate/code_climate_fingerprint_spec.rb +2 -0
  132. data/spec/reek/report/code_climate/code_climate_report_spec.rb +22 -22
  133. data/spec/reek/report/yaml_report_spec.rb +32 -32
  134. data/spec/reek/source/source_code_spec.rb +8 -1
  135. metadata +5 -4
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'code_context'
3
4
  require_relative 'attribute_context'
4
5
  require_relative 'method_context'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'code_context'
3
4
  require_relative 'method_context'
4
5
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'code_context'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'attribute_context'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'method_context'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../ast/node'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Reek
3
4
  module Context
4
5
  # Responsible for tracking visibilities in regards to CodeContexts.
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'context/attribute_context'
3
4
  require_relative 'context/class_context'
4
5
  require_relative 'context/ghost_context'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'smell_detectors'
3
4
  require_relative 'smell_detectors/base_detector'
4
5
  require_relative 'configuration/app_configuration'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_error'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_error'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_error'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_error'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_error'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'context_builder'
3
4
  require_relative 'detector_repository'
4
5
  require_relative 'errors/incomprehensible_source_error'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'errors/bad_detector_configuration_key_in_comment_error'
3
4
  require_relative 'errors/bad_detector_in_comment_error'
4
5
  require_relative 'errors/garbage_detector_configuration_in_comment_error'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'report/code_climate'
3
4
  require_relative 'report/html_report'
4
5
  require_relative 'report/json_report'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'json'
3
4
  require 'pathname'
4
5
  require 'rainbow'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'code_climate/code_climate_fingerprint'
3
4
  require_relative 'code_climate/code_climate_formatter'
4
5
  require_relative 'code_climate/code_climate_report'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Reek
3
4
  module Report
4
5
  # loads the smell type metadata to present in Code Climate
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'digest'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'codeclimate_engine'
3
4
  require_relative 'code_climate_configuration'
4
5
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../base_report'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'code_climate/code_climate_formatter'
3
4
  require_relative 'formatter/heading_formatter'
4
5
  require_relative 'formatter/location_formatter'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Reek
3
4
  module Report
4
5
  module Formatter
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Reek
3
4
  module Report
4
5
  module Formatter
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Reek
3
4
  module Report
4
5
  module Formatter
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'simple_warning_formatter'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_report'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_report'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_report'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_report'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_report'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Reek
3
4
  #
4
5
  # Represents a single set of configuration options for a smell detector
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'smell_detectors/attribute'
3
4
  require_relative 'smell_detectors/boolean_parameter'
4
5
  require_relative 'smell_detectors/class_variable'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'set'
3
4
  require_relative '../smell_warning'
4
5
  require_relative '../smell_configuration'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'set'
3
4
  require_relative 'base_detector'
4
5
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative '../ast/node'
3
4
  require_relative 'base_detector'
4
5
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative 'base_detector'
3
4
 
4
5
  module Reek
@@ -67,8 +68,8 @@ module Reek
67
68
  defined_private_methods = ctx.defined_instance_methods(visibility: :private)
68
69
  called_method_names = ctx.instance_method_calls.map(&:name)
69
70
 
70
- defined_private_methods.select do |defined_method|
71
- !called_method_names.include?(defined_method.name)
71
+ defined_private_methods.reject do |defined_method|
72
+ called_method_names.include?(defined_method.name)
72
73
  end
73
74
  end
74
75