reek 6.0.3 → 6.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -1
  3. data/CONTRIBUTING.md +3 -0
  4. data/Dockerfile +1 -1
  5. data/Gemfile +6 -6
  6. data/bin/code_climate_reek +2 -3
  7. data/lib/reek/ast/ast_node_class_map.rb +1 -1
  8. data/lib/reek/code_comment.rb +22 -17
  9. data/lib/reek/report/code_climate/code_climate_formatter.rb +1 -3
  10. data/lib/reek/smell_detectors/base_detector.rb +1 -1
  11. data/lib/reek/smell_warning.rb +1 -1
  12. data/lib/reek/source/source_locator.rb +1 -3
  13. data/lib/reek/version.rb +2 -2
  14. data/reek.gemspec +4 -2
  15. metadata +3 -222
  16. data/docs/API.md +0 -174
  17. data/docs/Attribute.md +0 -39
  18. data/docs/Basic-Smell-Options.md +0 -85
  19. data/docs/Boolean-Parameter.md +0 -54
  20. data/docs/Class-Variable.md +0 -40
  21. data/docs/Code-Smells.md +0 -39
  22. data/docs/Command-Line-Options.md +0 -119
  23. data/docs/Control-Couple.md +0 -26
  24. data/docs/Control-Parameter.md +0 -32
  25. data/docs/Data-Clump.md +0 -46
  26. data/docs/Duplicate-Method-Call.md +0 -264
  27. data/docs/Feature-Envy.md +0 -93
  28. data/docs/How-To-Write-New-Detectors.md +0 -132
  29. data/docs/How-reek-works-internally.md +0 -114
  30. data/docs/Instance-Variable-Assumption.md +0 -163
  31. data/docs/Irresponsible-Module.md +0 -47
  32. data/docs/Large-Class.md +0 -16
  33. data/docs/Long-Parameter-List.md +0 -39
  34. data/docs/Long-Yield-List.md +0 -37
  35. data/docs/Manual-Dispatch.md +0 -30
  36. data/docs/Missing-Safe-Method.md +0 -92
  37. data/docs/Module-Initialize.md +0 -62
  38. data/docs/Nested-Iterators.md +0 -59
  39. data/docs/Nil-Check.md +0 -47
  40. data/docs/RSpec-matchers.md +0 -129
  41. data/docs/Rake-Task.md +0 -66
  42. data/docs/Reek-4-to-Reek-5-migration.md +0 -188
  43. data/docs/Reek-Driven-Development.md +0 -46
  44. data/docs/Repeated-Conditional.md +0 -47
  45. data/docs/Simulated-Polymorphism.md +0 -16
  46. data/docs/Smell-Suppression.md +0 -96
  47. data/docs/Style-Guide.md +0 -19
  48. data/docs/Subclassed-From-Core-Class.md +0 -79
  49. data/docs/Too-Many-Constants.md +0 -37
  50. data/docs/Too-Many-Instance-Variables.md +0 -43
  51. data/docs/Too-Many-Methods.md +0 -56
  52. data/docs/Too-Many-Statements.md +0 -54
  53. data/docs/Uncommunicative-Method-Name.md +0 -94
  54. data/docs/Uncommunicative-Module-Name.md +0 -92
  55. data/docs/Uncommunicative-Name.md +0 -18
  56. data/docs/Uncommunicative-Parameter-Name.md +0 -90
  57. data/docs/Uncommunicative-Variable-Name.md +0 -96
  58. data/docs/Unused-Parameters.md +0 -28
  59. data/docs/Unused-Private-Method.md +0 -101
  60. data/docs/Utility-Function.md +0 -56
  61. data/docs/Versioning-Policy.md +0 -7
  62. data/docs/YAML-Reports.md +0 -93
  63. data/docs/defaults.reek.yml +0 -129
  64. data/docs/templates/default/docstring/html/public_api_marker.erb +0 -3
  65. data/docs/templates/default/docstring/setup.rb +0 -35
  66. data/docs/templates/default/fulldoc/html/css/common.css +0 -1
  67. data/docs/yard_plugin.rb +0 -17
  68. data/features/command_line_interface/basic_usage.feature +0 -15
  69. data/features/command_line_interface/options.feature +0 -123
  70. data/features/command_line_interface/show_progress.feature +0 -33
  71. data/features/command_line_interface/smell_selection.feature +0 -15
  72. data/features/command_line_interface/smells_count.feature +0 -38
  73. data/features/command_line_interface/stdin.feature +0 -65
  74. data/features/configuration_files/accept_setting.feature +0 -87
  75. data/features/configuration_files/directory_specific_directives.feature +0 -274
  76. data/features/configuration_files/exclude_directives.feature +0 -35
  77. data/features/configuration_files/exclude_paths_directives.feature +0 -42
  78. data/features/configuration_files/masking_smells.feature +0 -94
  79. data/features/configuration_files/mix_accept_reject_setting.feature +0 -84
  80. data/features/configuration_files/reject_setting.feature +0 -89
  81. data/features/configuration_files/schema_validation.feature +0 -59
  82. data/features/configuration_files/show_configuration_file.feature +0 -44
  83. data/features/configuration_files/unused_private_method.feature +0 -68
  84. data/features/configuration_loading.feature +0 -91
  85. data/features/configuration_via_source_comments/erroneous_source_comments.feature +0 -68
  86. data/features/configuration_via_source_comments/well_formed_source_comments.feature +0 -116
  87. data/features/locales.feature +0 -32
  88. data/features/programmatic_access.feature +0 -41
  89. data/features/rake_task/rake_task.feature +0 -138
  90. data/features/reports/codeclimate.feature +0 -59
  91. data/features/reports/json.feature +0 -59
  92. data/features/reports/reports.feature +0 -219
  93. data/features/reports/yaml.feature +0 -52
  94. data/features/rspec_matcher.feature +0 -41
  95. data/features/samples.feature +0 -305
  96. data/features/step_definitions/.rubocop.yml +0 -5
  97. data/features/step_definitions/reek_steps.rb +0 -102
  98. data/features/step_definitions/sample_file_steps.rb +0 -63
  99. data/features/support/env.rb +0 -33
  100. data/features/todo_list.feature +0 -108
  101. data/samples/checkstyle.xml +0 -7
  102. data/samples/clean_source/clean.rb +0 -6
  103. data/samples/configuration/accepts_rejects_and_excludes_for_detectors.reek.yml +0 -29
  104. data/samples/configuration/accepts_rejects_and_excludes_for_directory_directives.reek.yml +0 -30
  105. data/samples/configuration/corrupt.reek +0 -1
  106. data/samples/configuration/empty.reek +0 -0
  107. data/samples/configuration/full_configuration.reek +0 -13
  108. data/samples/configuration/full_mask.reek +0 -6
  109. data/samples/configuration/home/home.reek.yml +0 -4
  110. data/samples/configuration/partial_mask.reek +0 -4
  111. data/samples/configuration/regular_configuration/.reek.yml +0 -4
  112. data/samples/configuration/regular_configuration/empty_sub_directory/.gitignore +0 -0
  113. data/samples/configuration/with_excluded_paths.reek +0 -5
  114. data/samples/no_config_file/.keep +0 -0
  115. data/samples/paths.rb +0 -5
  116. data/samples/smelly_source/inline.rb +0 -704
  117. data/samples/smelly_source/optparse.rb +0 -1788
  118. data/samples/smelly_source/redcloth.rb +0 -1130
  119. data/samples/smelly_source/ruby.rb +0 -368
  120. data/samples/smelly_source/smelly.rb +0 -7
  121. data/samples/source_with_exclude_paths/ignore_me/uncommunicative_method_name.rb +0 -5
  122. data/samples/source_with_exclude_paths/nested/ignore_me_as_well/irresponsible_module.rb +0 -2
  123. data/samples/source_with_exclude_paths/nested/uncommunicative_parameter_name.rb +0 -6
  124. data/samples/source_with_exclude_paths/nested/uncommunicative_variable_name.rb +0 -6
  125. data/samples/source_with_hidden_directories/.hidden/hidden.rb +0 -1
  126. data/samples/source_with_hidden_directories/not_hidden.rb +0 -1
  127. data/samples/source_with_non_ruby_files/gibberish +0 -1
  128. data/samples/source_with_non_ruby_files/python_source.py +0 -1
  129. data/samples/source_with_non_ruby_files/ruby.rb +0 -6
  130. data/spec/performance/reek/smell_detectors/runtime_speed_spec.rb +0 -15
  131. data/spec/quality/documentation_spec.rb +0 -41
  132. data/spec/quality/reek_source_spec.rb +0 -11
  133. data/spec/reek/ast/node_spec.rb +0 -211
  134. data/spec/reek/ast/object_refs_spec.rb +0 -83
  135. data/spec/reek/ast/reference_collector_spec.rb +0 -47
  136. data/spec/reek/ast/sexp_extensions_spec.rb +0 -498
  137. data/spec/reek/cli/application_spec.rb +0 -168
  138. data/spec/reek/cli/command/report_command_spec.rb +0 -44
  139. data/spec/reek/cli/command/todo_list_command_spec.rb +0 -86
  140. data/spec/reek/cli/options_spec.rb +0 -51
  141. data/spec/reek/cli/silencer_spec.rb +0 -28
  142. data/spec/reek/code_comment_spec.rb +0 -184
  143. data/spec/reek/configuration/app_configuration_spec.rb +0 -195
  144. data/spec/reek/configuration/configuration_file_finder_spec.rb +0 -230
  145. data/spec/reek/configuration/default_directive_spec.rb +0 -13
  146. data/spec/reek/configuration/directory_directives_spec.rb +0 -122
  147. data/spec/reek/configuration/excluded_paths_spec.rb +0 -25
  148. data/spec/reek/configuration/rake_task_converter_spec.rb +0 -33
  149. data/spec/reek/configuration/schema_validator_spec.rb +0 -165
  150. data/spec/reek/context/code_context_spec.rb +0 -192
  151. data/spec/reek/context/ghost_context_spec.rb +0 -60
  152. data/spec/reek/context/method_context_spec.rb +0 -72
  153. data/spec/reek/context/module_context_spec.rb +0 -55
  154. data/spec/reek/context/root_context_spec.rb +0 -12
  155. data/spec/reek/context/statement_counter_spec.rb +0 -24
  156. data/spec/reek/context_builder_spec.rb +0 -457
  157. data/spec/reek/detector_repository_spec.rb +0 -22
  158. data/spec/reek/documentation_link_spec.rb +0 -20
  159. data/spec/reek/errors/base_error_spec.rb +0 -13
  160. data/spec/reek/examiner_spec.rb +0 -309
  161. data/spec/reek/logging_error_handler_spec.rb +0 -24
  162. data/spec/reek/rake/task_spec.rb +0 -56
  163. data/spec/reek/report/code_climate/code_climate_configuration_spec.rb +0 -22
  164. data/spec/reek/report/code_climate/code_climate_fingerprint_spec.rb +0 -126
  165. data/spec/reek/report/code_climate/code_climate_formatter_spec.rb +0 -51
  166. data/spec/reek/report/code_climate/code_climate_report_spec.rb +0 -56
  167. data/spec/reek/report/html_report_spec.rb +0 -19
  168. data/spec/reek/report/json_report_spec.rb +0 -58
  169. data/spec/reek/report/location_formatter_spec.rb +0 -32
  170. data/spec/reek/report/progress_formatter_spec.rb +0 -68
  171. data/spec/reek/report/text_report_spec.rb +0 -89
  172. data/spec/reek/report/xml_report_spec.rb +0 -24
  173. data/spec/reek/report/yaml_report_spec.rb +0 -55
  174. data/spec/reek/report_spec.rb +0 -28
  175. data/spec/reek/smell_configuration_spec.rb +0 -56
  176. data/spec/reek/smell_detectors/attribute_spec.rb +0 -197
  177. data/spec/reek/smell_detectors/base_detector_spec.rb +0 -50
  178. data/spec/reek/smell_detectors/boolean_parameter_spec.rb +0 -93
  179. data/spec/reek/smell_detectors/class_variable_spec.rb +0 -106
  180. data/spec/reek/smell_detectors/control_parameter_spec.rb +0 -300
  181. data/spec/reek/smell_detectors/data_clump_spec.rb +0 -134
  182. data/spec/reek/smell_detectors/duplicate_method_call_spec.rb +0 -211
  183. data/spec/reek/smell_detectors/feature_envy_spec.rb +0 -295
  184. data/spec/reek/smell_detectors/instance_variable_assumption_spec.rb +0 -96
  185. data/spec/reek/smell_detectors/irresponsible_module_spec.rb +0 -226
  186. data/spec/reek/smell_detectors/long_parameter_list_spec.rb +0 -61
  187. data/spec/reek/smell_detectors/long_yield_list_spec.rb +0 -49
  188. data/spec/reek/smell_detectors/manual_dispatch_spec.rb +0 -75
  189. data/spec/reek/smell_detectors/missing_safe_method_spec.rb +0 -68
  190. data/spec/reek/smell_detectors/module_initialize_spec.rb +0 -77
  191. data/spec/reek/smell_detectors/nested_iterators_spec.rb +0 -333
  192. data/spec/reek/smell_detectors/nil_check_spec.rb +0 -100
  193. data/spec/reek/smell_detectors/repeated_conditional_spec.rb +0 -100
  194. data/spec/reek/smell_detectors/subclassed_from_core_class_spec.rb +0 -77
  195. data/spec/reek/smell_detectors/too_many_constants_spec.rb +0 -144
  196. data/spec/reek/smell_detectors/too_many_instance_variables_spec.rb +0 -132
  197. data/spec/reek/smell_detectors/too_many_methods_spec.rb +0 -54
  198. data/spec/reek/smell_detectors/too_many_statements_spec.rb +0 -90
  199. data/spec/reek/smell_detectors/uncommunicative_method_name_spec.rb +0 -78
  200. data/spec/reek/smell_detectors/uncommunicative_module_name_spec.rb +0 -78
  201. data/spec/reek/smell_detectors/uncommunicative_parameter_name_spec.rb +0 -147
  202. data/spec/reek/smell_detectors/uncommunicative_variable_name_spec.rb +0 -201
  203. data/spec/reek/smell_detectors/unused_parameters_spec.rb +0 -114
  204. data/spec/reek/smell_detectors/unused_private_method_spec.rb +0 -205
  205. data/spec/reek/smell_detectors/utility_function_spec.rb +0 -309
  206. data/spec/reek/smell_warning_spec.rb +0 -137
  207. data/spec/reek/source/source_code_spec.rb +0 -79
  208. data/spec/reek/source/source_locator_spec.rb +0 -166
  209. data/spec/reek/spec/should_reek_of_spec.rb +0 -153
  210. data/spec/reek/spec/should_reek_only_of_spec.rb +0 -91
  211. data/spec/reek/spec/should_reek_spec.rb +0 -52
  212. data/spec/reek/spec/smell_matcher_spec.rb +0 -87
  213. data/spec/reek/tree_dresser_spec.rb +0 -46
  214. data/spec/spec_helper.rb +0 -110
  215. data/tasks/configuration.rake +0 -18
  216. data/tasks/console.rake +0 -5
  217. data/tasks/reek.rake +0 -6
  218. data/tasks/rubocop.rake +0 -11
  219. data/tasks/test.rake +0 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 967e95555fe823e1924a78ff2a8c94c40bdb4d16d031bacd51b885d1475bce30
4
- data.tar.gz: c9760389b64b3bb9f96f1896192a540a4de8b7f395808299b9a67e47238e8c42
3
+ metadata.gz: f6445aae6ec59ea428c09872ffcf768e6b1df34f7c3860d2537ace1465c3f588
4
+ data.tar.gz: 81768ea8825add3341a059deba602ce5fd9d58093c4b53b37ede59c2256124b2
5
5
  SHA512:
6
- metadata.gz: ea4c588166903c10bed44c2a459e43e4db479943f8f489ca1eaefbb6db375605e06ff678f5411def292e19ef8c2754245bca78eb24373532474091b0ab8eadbe
7
- data.tar.gz: 9e0804841d54d4278149422d66c7e379597e3f99275ba8b9ab4aef6e7041bde6c928db5f3c62a3b5c3d1d6fc4da0216ba5d13aa5562f9e0b565ec31bb115d0fe
6
+ metadata.gz: b27f1243970e103ea742582ae4f0ae517613b0a7465ff953818a069f1c5354626aa1dc2d72d42ad97d47ee930c294ddde5f6987e337f6314fd4f7c8598f75557
7
+ data.tar.gz: 2a036cd4900a2cc47aaef1fb3aec83c4793c4da44bdcffc6fe12134094fdfe5ede6dfe4509f251051d6703f52a37da0b7bf8e7b17cd6a3c2af616727d87a402f
data/CHANGELOG.md CHANGED
@@ -1,11 +1,26 @@
1
1
  # Change log
2
2
 
3
+ ## 6.0.6 (2021-08-12)
4
+
5
+ * (mvz) Remove explicit dependency on psych. This fixes an issue where
6
+ installing Reek would unintentionally pull in psych 4.0
7
+
8
+ ## 6.0.5 (2021-08-01)
9
+
10
+ * (dependabot) Loosen dependency on psych
11
+ * (Nicolás Ferrari) Fix bugs when used by codeclimate
12
+
13
+ ## 6.0.4 (2021-04-27)
14
+
15
+ * (Nicolás Ferrari) Add build-base to Dockerfile
16
+ * (Masataka Pocke Kuwabara and Daniel Santos Dantas) Reduce gem package size
17
+
3
18
  ## 6.0.3 (2021-01-11)
4
19
 
5
20
  * (mvz) Require parser 3.0
6
21
  * (mvz) In a refinement, assign smells to the refined module or class
7
22
 
8
- ## 6.0.3 (2020-10-17)
23
+ ## 6.0.2 (2020-10-17)
9
24
 
10
25
  * (mvz) Loosen dependency on psych. This should resolve installation problems on
11
26
  mingw32
data/CONTRIBUTING.md CHANGED
@@ -27,6 +27,9 @@ version, Ruby platform (MRI, JRuby, etc.), operating system.
27
27
  Try to provide a minimal example that reproduces the issue.
28
28
  Extra kudos if you can write it as a failing test. :)
29
29
 
30
+ Make sure any code examples and output are properly formatted
31
+ using [code blocks](https://github.github.com/gfm/#fenced-code-blocks).
32
+
30
33
  ## Contributing features, bugfixes, documentation
31
34
 
32
35
  ### Getting started
data/Dockerfile CHANGED
@@ -11,7 +11,7 @@ ENV code_dir /code
11
11
  ENV app_dir /usr/src/app
12
12
  ENV user app
13
13
 
14
- RUN apk --update add git
14
+ RUN apk --update add git build-base
15
15
  ADD . ${app_dir}
16
16
 
17
17
  RUN adduser -u 9000 -D ${user}
data/Gemfile CHANGED
@@ -7,16 +7,16 @@ ruby RUBY_VERSION
7
7
  group :development do
8
8
  gem 'aruba', '~> 1.0'
9
9
  gem 'codeclimate-engine-rb', '~> 0.4.0'
10
- gem 'cucumber', ['>= 4.0', '< 6.0']
10
+ gem 'cucumber', ['>= 4.0', '< 7.0']
11
11
  gem 'kramdown', '~> 2.1'
12
12
  gem 'kramdown-parser-gfm', '~> 1.0'
13
13
  gem 'rake', '~> 13.0'
14
14
  gem 'rspec', '~> 3.0'
15
15
  gem 'rspec-benchmark', '~> 0.6.0'
16
- gem 'rubocop', '~> 1.7.0'
17
- gem 'rubocop-performance', '~> 1.9.1'
18
- gem 'rubocop-rspec', '~> 2.1.0'
19
- gem 'simplecov', ['>= 0.18.0', '< 0.21.0']
16
+ gem 'rubocop', '~> 1.12.0'
17
+ gem 'rubocop-performance', '~> 1.10.1'
18
+ gem 'rubocop-rspec', '~> 2.2.0'
19
+ gem 'simplecov', ['>= 0.18.0', '< 0.22.0']
20
20
  gem 'yard', '~> 0.9.5'
21
21
 
22
22
  platforms :mri do
@@ -25,5 +25,5 @@ group :development do
25
25
  end
26
26
 
27
27
  group :debugging do
28
- gem 'pry', '~> 0.13.0'
28
+ gem 'pry', '~> 0.14.0'
29
29
  end
@@ -14,15 +14,14 @@ class CodeClimateToReek
14
14
  # we have to exit with a zero for both failure and success.
15
15
  ENGINE_CONFIGURATION = [
16
16
  '--failure-exit-code', '0',
17
- '--success-exit-code', '0',
18
- '.'
17
+ '--success-exit-code', '0'
19
18
  ].freeze
20
19
 
21
20
  attr_reader :configuration_file_path, :include_paths_key, :include_paths_default
22
21
 
23
22
  def initialize(configuration_file_path: '/config.json',
24
23
  include_paths_key: 'include_paths',
25
- include_paths_default: [])
24
+ include_paths_default: ['.'])
26
25
  @configuration_file_path = configuration_file_path
27
26
  @include_paths_key = include_paths_key
28
27
  @include_paths_default = include_paths_default
@@ -30,7 +30,7 @@ module Reek
30
30
  SexpExtensions.const_get(const)
31
31
  ]
32
32
  end
33
- Hash[assoc]
33
+ assoc.to_h
34
34
  end
35
35
  end
36
36
 
@@ -39,13 +39,13 @@ module Reek
39
39
 
40
40
  @original_comment.scan(CONFIGURATION_REGEX) do |detector_name, separator, options|
41
41
  escalate_legacy_separator separator
42
- CodeCommentValidator.new(detector_name: detector_name,
43
- original_comment: original_comment,
44
- line: line,
45
- source: source,
46
- options: options).validate
47
- @config.merge! detector_name => YAML.safe_load(options || DISABLE_DETECTOR_CONFIGURATION,
48
- permitted_classes: [Regexp])
42
+ validator = CodeCommentValidator.new(detector_name: detector_name,
43
+ original_comment: original_comment,
44
+ line: line,
45
+ source: source,
46
+ options: options)
47
+ validator.validate
48
+ @config.merge! detector_name => validator.parsed_options
49
49
  end
50
50
  end
51
51
 
@@ -115,6 +115,21 @@ module Reek
115
115
  escalate_unknown_configuration_key
116
116
  end
117
117
 
118
+ def parsed_options
119
+ @parsed_options ||=
120
+ if Psych::VERSION < '3.1.0'
121
+ YAML.safe_load(options || CodeComment::DISABLE_DETECTOR_CONFIGURATION, [Regexp])
122
+ else
123
+ YAML.safe_load(options || CodeComment::DISABLE_DETECTOR_CONFIGURATION,
124
+ permitted_classes: [Regexp])
125
+ end
126
+ rescue Psych::SyntaxError
127
+ raise Errors::GarbageDetectorConfigurationInCommentError.new(detector_name: detector_name,
128
+ original_comment: original_comment,
129
+ source: source,
130
+ line: line)
131
+ end
132
+
118
133
  private
119
134
 
120
135
  attr_reader :detector_name,
@@ -124,16 +139,6 @@ module Reek
124
139
  :separator,
125
140
  :options
126
141
 
127
- def parsed_options
128
- @parsed_options ||= YAML.safe_load(options || CodeComment::DISABLE_DETECTOR_CONFIGURATION,
129
- permitted_classes: [Regexp])
130
- rescue Psych::SyntaxError
131
- raise Errors::GarbageDetectorConfigurationInCommentError.new(detector_name: detector_name,
132
- original_comment: original_comment,
133
- source: source,
134
- line: line)
135
- end
136
-
137
142
  def escalate_unknown_configuration_key
138
143
  return if given_keys_legit?
139
144
 
@@ -57,9 +57,7 @@ module Reek
57
57
  end
58
58
 
59
59
  def configuration
60
- @configuration ||= begin
61
- CodeClimateConfiguration.load
62
- end
60
+ @configuration ||= CodeClimateConfiguration.load
63
61
  end
64
62
  end
65
63
  end
@@ -90,7 +90,7 @@ module Reek
90
90
 
91
91
  class << self
92
92
  def smell_type
93
- @smell_type ||= name.split(/::/).last
93
+ @smell_type ||= name.split('::').last
94
94
  end
95
95
 
96
96
  def contexts
@@ -59,7 +59,7 @@ module Reek
59
59
 
60
60
  # @public
61
61
  def to_hash
62
- stringified_params = Hash[parameters.map { |key, val| [key.to_s, val] }]
62
+ stringified_params = parameters.map { |key, val| [key.to_s, val] }.to_h
63
63
  base_hash.merge(stringified_params)
64
64
  end
65
65
 
@@ -62,10 +62,8 @@ module Reek
62
62
 
63
63
  false
64
64
  end
65
- elsif path_excluded?(path)
66
- true
67
65
  else
68
- false
66
+ path_excluded?(path)
69
67
  end
70
68
  end
71
69
 
data/lib/reek/version.rb CHANGED
@@ -3,11 +3,11 @@
3
3
  # @public
4
4
  module Reek
5
5
  #
6
- # This module holds the Reek version informations
6
+ # This module holds the Reek version information
7
7
  #
8
8
  # @public
9
9
  module Version
10
10
  # @public
11
- STRING = '6.0.3'
11
+ STRING = '6.0.6'
12
12
  end
13
13
  end
data/reek.gemspec CHANGED
@@ -12,7 +12,10 @@ Gem::Specification.new do |s|
12
12
  s.license = 'MIT'
13
13
  s.email = ['timo.roessner@googlemail.com']
14
14
  s.extra_rdoc_files = ['CHANGELOG.md', 'License.txt']
15
- s.files = `git ls-files -z`.split("\0")
15
+ s.files = Dir.chdir(File.expand_path(__dir__)) do
16
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|samples|docs|tasks)/}) }
17
+ end
18
+
16
19
  s.executables = s.files.grep(%r{^bin/}).map { |path| File.basename(path) }
17
20
  s.homepage = 'https://github.com/troessner/reek'
18
21
  s.rdoc_options = %w(--main README.md -x assets/|bin/|config/|features/|spec/|tasks/)
@@ -29,6 +32,5 @@ Gem::Specification.new do |s|
29
32
 
30
33
  s.add_runtime_dependency 'kwalify', '~> 0.7.0'
31
34
  s.add_runtime_dependency 'parser', '~> 3.0.0'
32
- s.add_runtime_dependency 'psych', '~> 3.1'
33
35
  s.add_runtime_dependency 'rainbow', '>= 2.0', '< 4.0'
34
36
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reek
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.3
4
+ version: 6.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Rutherford
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2021-01-11 00:00:00.000000000 Z
14
+ date: 2021-08-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: kwalify
@@ -41,20 +41,6 @@ dependencies:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
43
  version: 3.0.0
44
- - !ruby/object:Gem::Dependency
45
- name: psych
46
- requirement: !ruby/object:Gem::Requirement
47
- requirements:
48
- - - "~>"
49
- - !ruby/object:Gem::Version
50
- version: '3.1'
51
- type: :runtime
52
- prerelease: false
53
- version_requirements: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - "~>"
56
- - !ruby/object:Gem::Version
57
- version: '3.1'
58
44
  - !ruby/object:Gem::Dependency
59
45
  name: rainbow
60
46
  requirement: !ruby/object:Gem::Requirement
@@ -105,92 +91,7 @@ files:
105
91
  - Rakefile
106
92
  - bin/code_climate_reek
107
93
  - bin/reek
108
- - docs/API.md
109
- - docs/Attribute.md
110
- - docs/Basic-Smell-Options.md
111
- - docs/Boolean-Parameter.md
112
- - docs/Class-Variable.md
113
- - docs/Code-Smells.md
114
- - docs/Command-Line-Options.md
115
- - docs/Control-Couple.md
116
- - docs/Control-Parameter.md
117
- - docs/Data-Clump.md
118
- - docs/Duplicate-Method-Call.md
119
- - docs/Feature-Envy.md
120
- - docs/How-To-Write-New-Detectors.md
121
- - docs/How-reek-works-internally.md
122
- - docs/Instance-Variable-Assumption.md
123
- - docs/Irresponsible-Module.md
124
- - docs/Large-Class.md
125
- - docs/Long-Parameter-List.md
126
- - docs/Long-Yield-List.md
127
- - docs/Manual-Dispatch.md
128
- - docs/Missing-Safe-Method.md
129
- - docs/Module-Initialize.md
130
- - docs/Nested-Iterators.md
131
- - docs/Nil-Check.md
132
- - docs/RSpec-matchers.md
133
- - docs/Rake-Task.md
134
- - docs/Reek-4-to-Reek-5-migration.md
135
- - docs/Reek-Driven-Development.md
136
- - docs/Repeated-Conditional.md
137
- - docs/Simulated-Polymorphism.md
138
- - docs/Smell-Suppression.md
139
- - docs/Style-Guide.md
140
- - docs/Subclassed-From-Core-Class.md
141
- - docs/Too-Many-Constants.md
142
- - docs/Too-Many-Instance-Variables.md
143
- - docs/Too-Many-Methods.md
144
- - docs/Too-Many-Statements.md
145
- - docs/Uncommunicative-Method-Name.md
146
- - docs/Uncommunicative-Module-Name.md
147
- - docs/Uncommunicative-Name.md
148
- - docs/Uncommunicative-Parameter-Name.md
149
- - docs/Uncommunicative-Variable-Name.md
150
- - docs/Unused-Parameters.md
151
- - docs/Unused-Private-Method.md
152
- - docs/Utility-Function.md
153
- - docs/Versioning-Policy.md
154
- - docs/YAML-Reports.md
155
- - docs/defaults.reek.yml
156
- - docs/templates/default/docstring/html/public_api_marker.erb
157
- - docs/templates/default/docstring/setup.rb
158
- - docs/templates/default/fulldoc/html/css/common.css
159
- - docs/yard_plugin.rb
160
94
  - engine.json
161
- - features/command_line_interface/basic_usage.feature
162
- - features/command_line_interface/options.feature
163
- - features/command_line_interface/show_progress.feature
164
- - features/command_line_interface/smell_selection.feature
165
- - features/command_line_interface/smells_count.feature
166
- - features/command_line_interface/stdin.feature
167
- - features/configuration_files/accept_setting.feature
168
- - features/configuration_files/directory_specific_directives.feature
169
- - features/configuration_files/exclude_directives.feature
170
- - features/configuration_files/exclude_paths_directives.feature
171
- - features/configuration_files/masking_smells.feature
172
- - features/configuration_files/mix_accept_reject_setting.feature
173
- - features/configuration_files/reject_setting.feature
174
- - features/configuration_files/schema_validation.feature
175
- - features/configuration_files/show_configuration_file.feature
176
- - features/configuration_files/unused_private_method.feature
177
- - features/configuration_loading.feature
178
- - features/configuration_via_source_comments/erroneous_source_comments.feature
179
- - features/configuration_via_source_comments/well_formed_source_comments.feature
180
- - features/locales.feature
181
- - features/programmatic_access.feature
182
- - features/rake_task/rake_task.feature
183
- - features/reports/codeclimate.feature
184
- - features/reports/json.feature
185
- - features/reports/reports.feature
186
- - features/reports/yaml.feature
187
- - features/rspec_matcher.feature
188
- - features/samples.feature
189
- - features/step_definitions/.rubocop.yml
190
- - features/step_definitions/reek_steps.rb
191
- - features/step_definitions/sample_file_steps.rb
192
- - features/support/env.rb
193
- - features/todo_list.feature
194
95
  - lib/reek.rb
195
96
  - lib/reek/ast/ast_node_class_map.rb
196
97
  - lib/reek/ast/builder.rb
@@ -333,125 +234,6 @@ files:
333
234
  - logo/reek.text.png
334
235
  - logo/reek.text.svg
335
236
  - reek.gemspec
336
- - samples/checkstyle.xml
337
- - samples/clean_source/clean.rb
338
- - samples/configuration/accepts_rejects_and_excludes_for_detectors.reek.yml
339
- - samples/configuration/accepts_rejects_and_excludes_for_directory_directives.reek.yml
340
- - samples/configuration/corrupt.reek
341
- - samples/configuration/empty.reek
342
- - samples/configuration/full_configuration.reek
343
- - samples/configuration/full_mask.reek
344
- - samples/configuration/home/home.reek.yml
345
- - samples/configuration/partial_mask.reek
346
- - samples/configuration/regular_configuration/.reek.yml
347
- - samples/configuration/regular_configuration/empty_sub_directory/.gitignore
348
- - samples/configuration/with_excluded_paths.reek
349
- - samples/no_config_file/.keep
350
- - samples/paths.rb
351
- - samples/smelly_source/inline.rb
352
- - samples/smelly_source/optparse.rb
353
- - samples/smelly_source/redcloth.rb
354
- - samples/smelly_source/ruby.rb
355
- - samples/smelly_source/smelly.rb
356
- - samples/source_with_exclude_paths/ignore_me/uncommunicative_method_name.rb
357
- - samples/source_with_exclude_paths/nested/ignore_me_as_well/irresponsible_module.rb
358
- - samples/source_with_exclude_paths/nested/uncommunicative_parameter_name.rb
359
- - samples/source_with_exclude_paths/nested/uncommunicative_variable_name.rb
360
- - samples/source_with_hidden_directories/.hidden/hidden.rb
361
- - samples/source_with_hidden_directories/not_hidden.rb
362
- - samples/source_with_non_ruby_files/gibberish
363
- - samples/source_with_non_ruby_files/python_source.py
364
- - samples/source_with_non_ruby_files/ruby.rb
365
- - spec/performance/reek/smell_detectors/runtime_speed_spec.rb
366
- - spec/quality/documentation_spec.rb
367
- - spec/quality/reek_source_spec.rb
368
- - spec/reek/ast/node_spec.rb
369
- - spec/reek/ast/object_refs_spec.rb
370
- - spec/reek/ast/reference_collector_spec.rb
371
- - spec/reek/ast/sexp_extensions_spec.rb
372
- - spec/reek/cli/application_spec.rb
373
- - spec/reek/cli/command/report_command_spec.rb
374
- - spec/reek/cli/command/todo_list_command_spec.rb
375
- - spec/reek/cli/options_spec.rb
376
- - spec/reek/cli/silencer_spec.rb
377
- - spec/reek/code_comment_spec.rb
378
- - spec/reek/configuration/app_configuration_spec.rb
379
- - spec/reek/configuration/configuration_file_finder_spec.rb
380
- - spec/reek/configuration/default_directive_spec.rb
381
- - spec/reek/configuration/directory_directives_spec.rb
382
- - spec/reek/configuration/excluded_paths_spec.rb
383
- - spec/reek/configuration/rake_task_converter_spec.rb
384
- - spec/reek/configuration/schema_validator_spec.rb
385
- - spec/reek/context/code_context_spec.rb
386
- - spec/reek/context/ghost_context_spec.rb
387
- - spec/reek/context/method_context_spec.rb
388
- - spec/reek/context/module_context_spec.rb
389
- - spec/reek/context/root_context_spec.rb
390
- - spec/reek/context/statement_counter_spec.rb
391
- - spec/reek/context_builder_spec.rb
392
- - spec/reek/detector_repository_spec.rb
393
- - spec/reek/documentation_link_spec.rb
394
- - spec/reek/errors/base_error_spec.rb
395
- - spec/reek/examiner_spec.rb
396
- - spec/reek/logging_error_handler_spec.rb
397
- - spec/reek/rake/task_spec.rb
398
- - spec/reek/report/code_climate/code_climate_configuration_spec.rb
399
- - spec/reek/report/code_climate/code_climate_fingerprint_spec.rb
400
- - spec/reek/report/code_climate/code_climate_formatter_spec.rb
401
- - spec/reek/report/code_climate/code_climate_report_spec.rb
402
- - spec/reek/report/html_report_spec.rb
403
- - spec/reek/report/json_report_spec.rb
404
- - spec/reek/report/location_formatter_spec.rb
405
- - spec/reek/report/progress_formatter_spec.rb
406
- - spec/reek/report/text_report_spec.rb
407
- - spec/reek/report/xml_report_spec.rb
408
- - spec/reek/report/yaml_report_spec.rb
409
- - spec/reek/report_spec.rb
410
- - spec/reek/smell_configuration_spec.rb
411
- - spec/reek/smell_detectors/attribute_spec.rb
412
- - spec/reek/smell_detectors/base_detector_spec.rb
413
- - spec/reek/smell_detectors/boolean_parameter_spec.rb
414
- - spec/reek/smell_detectors/class_variable_spec.rb
415
- - spec/reek/smell_detectors/control_parameter_spec.rb
416
- - spec/reek/smell_detectors/data_clump_spec.rb
417
- - spec/reek/smell_detectors/duplicate_method_call_spec.rb
418
- - spec/reek/smell_detectors/feature_envy_spec.rb
419
- - spec/reek/smell_detectors/instance_variable_assumption_spec.rb
420
- - spec/reek/smell_detectors/irresponsible_module_spec.rb
421
- - spec/reek/smell_detectors/long_parameter_list_spec.rb
422
- - spec/reek/smell_detectors/long_yield_list_spec.rb
423
- - spec/reek/smell_detectors/manual_dispatch_spec.rb
424
- - spec/reek/smell_detectors/missing_safe_method_spec.rb
425
- - spec/reek/smell_detectors/module_initialize_spec.rb
426
- - spec/reek/smell_detectors/nested_iterators_spec.rb
427
- - spec/reek/smell_detectors/nil_check_spec.rb
428
- - spec/reek/smell_detectors/repeated_conditional_spec.rb
429
- - spec/reek/smell_detectors/subclassed_from_core_class_spec.rb
430
- - spec/reek/smell_detectors/too_many_constants_spec.rb
431
- - spec/reek/smell_detectors/too_many_instance_variables_spec.rb
432
- - spec/reek/smell_detectors/too_many_methods_spec.rb
433
- - spec/reek/smell_detectors/too_many_statements_spec.rb
434
- - spec/reek/smell_detectors/uncommunicative_method_name_spec.rb
435
- - spec/reek/smell_detectors/uncommunicative_module_name_spec.rb
436
- - spec/reek/smell_detectors/uncommunicative_parameter_name_spec.rb
437
- - spec/reek/smell_detectors/uncommunicative_variable_name_spec.rb
438
- - spec/reek/smell_detectors/unused_parameters_spec.rb
439
- - spec/reek/smell_detectors/unused_private_method_spec.rb
440
- - spec/reek/smell_detectors/utility_function_spec.rb
441
- - spec/reek/smell_warning_spec.rb
442
- - spec/reek/source/source_code_spec.rb
443
- - spec/reek/source/source_locator_spec.rb
444
- - spec/reek/spec/should_reek_of_spec.rb
445
- - spec/reek/spec/should_reek_only_of_spec.rb
446
- - spec/reek/spec/should_reek_spec.rb
447
- - spec/reek/spec/smell_matcher_spec.rb
448
- - spec/reek/tree_dresser_spec.rb
449
- - spec/spec_helper.rb
450
- - tasks/configuration.rake
451
- - tasks/console.rake
452
- - tasks/reek.rake
453
- - tasks/rubocop.rake
454
- - tasks/test.rake
455
237
  homepage: https://github.com/troessner/reek
456
238
  licenses:
457
239
  - MIT
@@ -480,8 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
480
262
  - !ruby/object:Gem::Version
481
263
  version: '0'
482
264
  requirements: []
483
- rubyforge_project:
484
- rubygems_version: 2.7.7
265
+ rubygems_version: 3.2.22
485
266
  signing_key:
486
267
  specification_version: 4
487
268
  summary: Code smell detector for Ruby