reek 2.0.0 → 2.0.1

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +5 -0
  3. data/README.md +13 -2
  4. data/Rakefile +2 -1
  5. data/features/command_line_interface/options.feature +2 -3
  6. data/features/command_line_interface/smell_selection.feature +0 -1
  7. data/features/command_line_interface/smells_count.feature +0 -2
  8. data/features/command_line_interface/stdin.feature +3 -10
  9. data/features/configuration_files/masking_smells.feature +1 -5
  10. data/features/configuration_files/overrides_defaults.feature +0 -1
  11. data/features/rake_task/rake_task.feature +1 -4
  12. data/features/reports/json.feature +73 -0
  13. data/features/reports/reports.feature +0 -3
  14. data/features/reports/yaml.feature +0 -1
  15. data/features/ruby_api/api.feature +0 -1
  16. data/features/samples.feature +0 -4
  17. data/features/step_definitions/reek_steps.rb +14 -4
  18. data/features/support/env.rb +3 -0
  19. data/lib/reek/cli/option_interpreter.rb +2 -0
  20. data/lib/reek/cli/options.rb +3 -3
  21. data/lib/reek/cli/report/formatter.rb +1 -1
  22. data/lib/reek/cli/report/location_formatter.rb +11 -0
  23. data/lib/reek/cli/report/report.rb +11 -2
  24. data/lib/reek/core/code_context.rb +49 -10
  25. data/lib/reek/core/sniffer.rb +2 -2
  26. data/lib/reek/core/{code_parser.rb → tree_walker.rb} +16 -7
  27. data/lib/reek/examiner.rb +0 -39
  28. data/lib/reek/smells.rb +3 -25
  29. data/lib/reek/smells/feature_envy.rb +0 -2
  30. data/lib/reek/smells/smell_detector.rb +0 -6
  31. data/lib/reek/source/sexp_extensions.rb +17 -6
  32. data/lib/reek/source/sexp_node.rb +1 -1
  33. data/lib/reek/spec.rb +66 -0
  34. data/lib/reek/spec/should_reek.rb +0 -6
  35. data/lib/reek/spec/should_reek_of.rb +0 -49
  36. data/lib/reek/spec/should_reek_only_of.rb +0 -11
  37. data/lib/reek/version.rb +6 -1
  38. data/reek.gemspec +3 -2
  39. data/spec/reek/cli/json_report_spec.rb +20 -0
  40. data/spec/reek/core/code_context_spec.rb +6 -0
  41. data/spec/reek/core/smell_configuration_spec.rb +3 -3
  42. data/spec/reek/core/{code_parser_spec.rb → tree_walker_spec.rb} +4 -4
  43. data/spec/reek/examiner_spec.rb +0 -19
  44. data/spec/reek/smells/attribute_spec.rb +6 -9
  45. data/spec/reek/smells/boolean_parameter_spec.rb +13 -15
  46. data/spec/reek/smells/class_variable_spec.rb +17 -17
  47. data/spec/reek/smells/control_parameter_spec.rb +44 -46
  48. data/spec/reek/smells/data_clump_spec.rb +73 -70
  49. data/spec/reek/smells/duplicate_method_call_spec.rb +39 -37
  50. data/spec/reek/smells/feature_envy_spec.rb +53 -57
  51. data/spec/reek/smells/irresponsible_module_spec.rb +12 -11
  52. data/spec/reek/smells/long_parameter_list_spec.rb +33 -26
  53. data/spec/reek/smells/long_yield_list_spec.rb +15 -19
  54. data/spec/reek/smells/module_initialize_spec.rb +4 -6
  55. data/spec/reek/smells/nested_iterators_spec.rb +28 -28
  56. data/spec/reek/smells/nil_check_spec.rb +18 -20
  57. data/spec/reek/smells/prima_donna_method_spec.rb +6 -9
  58. data/spec/reek/smells/repeated_conditional_spec.rb +41 -43
  59. data/spec/reek/smells/too_many_instance_variables_spec.rb +6 -11
  60. data/spec/reek/smells/too_many_methods_spec.rb +44 -61
  61. data/spec/reek/smells/too_many_statements_spec.rb +14 -41
  62. data/spec/reek/smells/uncommunicative_method_name_spec.rb +6 -11
  63. data/spec/reek/smells/uncommunicative_module_name_spec.rb +10 -14
  64. data/spec/reek/smells/uncommunicative_parameter_name_spec.rb +15 -16
  65. data/spec/reek/smells/uncommunicative_variable_name_spec.rb +33 -36
  66. data/spec/reek/smells/unused_parameters_spec.rb +16 -19
  67. data/spec/reek/smells/utility_function_spec.rb +7 -10
  68. metadata +22 -6
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: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Rutherford
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-02-09 00:00:00.000000000 Z
13
+ date: 2015-03-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: parser
@@ -54,6 +54,20 @@ dependencies:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
56
  version: '2.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: require_all
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '1.3'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '1.3'
57
71
  - !ruby/object:Gem::Dependency
58
72
  name: bundler
59
73
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +170,14 @@ dependencies:
156
170
  requirements:
157
171
  - - "~>"
158
172
  - !ruby/object:Gem::Version
159
- version: 0.28.0
173
+ version: 0.29.0
160
174
  type: :development
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: 0.28.0
180
+ version: 0.29.0
167
181
  description: |2
168
182
  Reek is a tool that examines Ruby classes, modules and methods and reports
169
183
  any code smells it finds.
@@ -192,6 +206,7 @@ files:
192
206
  - features/configuration_files/overrides_defaults.feature
193
207
  - features/configuration_loading.feature
194
208
  - features/rake_task/rake_task.feature
209
+ - features/reports/json.feature
195
210
  - features/reports/reports.feature
196
211
  - features/reports/yaml.feature
197
212
  - features/ruby_api/api.feature
@@ -213,7 +228,6 @@ files:
213
228
  - lib/reek/configuration/app_configuration.rb
214
229
  - lib/reek/configuration/configuration_file_finder.rb
215
230
  - lib/reek/core/code_context.rb
216
- - lib/reek/core/code_parser.rb
217
231
  - lib/reek/core/method_context.rb
218
232
  - lib/reek/core/module_context.rb
219
233
  - lib/reek/core/object_refs.rb
@@ -222,6 +236,7 @@ files:
222
236
  - lib/reek/core/smell_repository.rb
223
237
  - lib/reek/core/sniffer.rb
224
238
  - lib/reek/core/stop_context.rb
239
+ - lib/reek/core/tree_walker.rb
225
240
  - lib/reek/core/warning_collector.rb
226
241
  - lib/reek/examiner.rb
227
242
  - lib/reek/rake/task.rb
@@ -277,13 +292,13 @@ files:
277
292
  - spec/gem/yard_spec.rb
278
293
  - spec/quality/reek_source_spec.rb
279
294
  - spec/reek/cli/html_report_spec.rb
295
+ - spec/reek/cli/json_report_spec.rb
280
296
  - spec/reek/cli/option_interperter_spec.rb
281
297
  - spec/reek/cli/text_report_spec.rb
282
298
  - spec/reek/cli/yaml_report_spec.rb
283
299
  - spec/reek/configuration/app_configuration_spec.rb
284
300
  - spec/reek/configuration/configuration_file_finder_spec.rb
285
301
  - spec/reek/core/code_context_spec.rb
286
- - spec/reek/core/code_parser_spec.rb
287
302
  - spec/reek/core/method_context_spec.rb
288
303
  - spec/reek/core/module_context_spec.rb
289
304
  - spec/reek/core/object_refs_spec.rb
@@ -291,6 +306,7 @@ files:
291
306
  - spec/reek/core/smell_configuration_spec.rb
292
307
  - spec/reek/core/smell_repository_spec.rb
293
308
  - spec/reek/core/stop_context_spec.rb
309
+ - spec/reek/core/tree_walker_spec.rb
294
310
  - spec/reek/core/warning_collector_spec.rb
295
311
  - spec/reek/examiner_spec.rb
296
312
  - spec/reek/smell_warning_spec.rb