reek 4.7.3 → 4.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +17 -12
  3. data/.rubocop.yml +1 -0
  4. data/.travis.yml +4 -2
  5. data/CHANGELOG.md +10 -0
  6. data/Gemfile +3 -3
  7. data/README.md +19 -4
  8. data/lib/reek/ast/node.rb +37 -49
  9. data/lib/reek/ast/reference_collector.rb +2 -4
  10. data/lib/reek/ast/sexp_extensions/case.rb +1 -1
  11. data/lib/reek/ast/sexp_extensions/if.rb +8 -1
  12. data/lib/reek/ast/sexp_extensions/logical_operators.rb +1 -1
  13. data/lib/reek/ast/sexp_extensions/methods.rb +3 -5
  14. data/lib/reek/configuration/configuration_file_finder.rb +3 -3
  15. data/lib/reek/context/code_context.rb +4 -7
  16. data/lib/reek/context/method_context.rb +5 -10
  17. data/lib/reek/context/module_context.rb +3 -3
  18. data/lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb +9 -9
  19. data/lib/reek/errors/bad_detector_in_comment_error.rb +7 -7
  20. data/lib/reek/errors/base_error.rb +3 -0
  21. data/lib/reek/errors/encoding_error.rb +16 -11
  22. data/lib/reek/errors/garbage_detector_configuration_in_comment_error.rb +7 -7
  23. data/lib/reek/errors/incomprehensible_source_error.rb +20 -22
  24. data/lib/reek/examiner.rb +18 -14
  25. data/lib/reek/logging_error_handler.rb +7 -5
  26. data/lib/reek/smell_detectors/class_variable.rb +3 -10
  27. data/lib/reek/smell_detectors/duplicate_method_call.rb +1 -1
  28. data/lib/reek/smell_detectors/instance_variable_assumption.rb +1 -9
  29. data/lib/reek/smell_detectors/manual_dispatch.rb +1 -1
  30. data/lib/reek/smell_detectors/module_initialize.rb +1 -1
  31. data/lib/reek/smell_detectors/nested_iterators.rb +2 -1
  32. data/lib/reek/smell_detectors/too_many_constants.rb +1 -1
  33. data/lib/reek/smell_detectors/uncommunicative_variable_name.rb +2 -2
  34. data/lib/reek/smell_detectors/utility_function.rb +1 -1
  35. data/lib/reek/source/source_code.rb +9 -23
  36. data/lib/reek/version.rb +1 -1
  37. data/reek.gemspec +2 -2
  38. data/spec/factories/factories.rb +2 -13
  39. data/spec/reek/ast/node_spec.rb +98 -5
  40. data/spec/reek/ast/reference_collector_spec.rb +1 -1
  41. data/spec/reek/ast/sexp_extensions_spec.rb +2 -2
  42. data/spec/reek/cli/application_spec.rb +39 -41
  43. data/spec/reek/cli/command/todo_list_command_spec.rb +2 -2
  44. data/spec/reek/code_comment_spec.rb +32 -32
  45. data/spec/reek/configuration/app_configuration_spec.rb +3 -3
  46. data/spec/reek/configuration/configuration_file_finder_spec.rb +1 -1
  47. data/spec/reek/configuration/directory_directives_spec.rb +3 -3
  48. data/spec/reek/configuration/excluded_paths_spec.rb +1 -1
  49. data/spec/reek/context/code_context_spec.rb +59 -95
  50. data/spec/reek/context/ghost_context_spec.rb +1 -1
  51. data/spec/reek/context/root_context_spec.rb +1 -1
  52. data/spec/reek/errors/base_error_spec.rb +13 -0
  53. data/spec/reek/examiner_spec.rb +72 -29
  54. data/spec/reek/report/code_climate/code_climate_fingerprint_spec.rb +82 -80
  55. data/spec/reek/report/code_climate/code_climate_formatter_spec.rb +6 -6
  56. data/spec/reek/report/xml_report_spec.rb +2 -2
  57. data/spec/reek/smell_detectors/boolean_parameter_spec.rb +2 -2
  58. data/spec/reek/smell_detectors/class_variable_spec.rb +26 -32
  59. data/spec/reek/smell_detectors/control_parameter_spec.rb +34 -4
  60. data/spec/reek/smell_detectors/duplicate_method_call_spec.rb +3 -3
  61. data/spec/reek/smell_detectors/module_initialize_spec.rb +14 -0
  62. data/spec/reek/smell_detectors/nested_iterators_spec.rb +1 -1
  63. data/spec/reek/smell_detectors/uncommunicative_variable_name_spec.rb +3 -3
  64. data/spec/reek/smell_detectors/unused_parameters_spec.rb +3 -3
  65. data/spec/reek/smell_detectors/unused_private_method_spec.rb +9 -9
  66. data/spec/reek/smell_detectors/utility_function_spec.rb +5 -5
  67. data/spec/reek/smell_warning_spec.rb +8 -8
  68. data/spec/reek/source/source_code_spec.rb +5 -25
  69. data/spec/reek/source/source_locator_spec.rb +6 -6
  70. data/spec/reek/spec/should_reek_of_spec.rb +7 -7
  71. data/spec/reek/spec/should_reek_spec.rb +2 -2
  72. data/spec/reek/spec/smell_matcher_spec.rb +3 -3
  73. data/spec/reek/tree_dresser_spec.rb +11 -12
  74. data/spec/spec_helper.rb +3 -12
  75. metadata +10 -9
@@ -15,8 +15,8 @@ Reek::CLI::Silencer.silently do
15
15
  end
16
16
  end
17
17
 
18
- require 'factory_girl'
19
- FactoryGirl.find_definitions
18
+ require 'factory_bot'
19
+ FactoryBot.find_definitions
20
20
 
21
21
  # Simple helpers for our specs.
22
22
  module Helpers
@@ -76,7 +76,7 @@ end
76
76
  RSpec.configure do |config|
77
77
  config.filter_run :focus
78
78
  config.run_all_when_everything_filtered = true
79
- config.include FactoryGirl::Syntax::Methods
79
+ config.include FactoryBot::Syntax::Methods
80
80
  config.include Helpers
81
81
 
82
82
  config.disable_monkey_patching!
@@ -85,15 +85,6 @@ RSpec.configure do |config|
85
85
  mocks.verify_partial_doubles = true
86
86
  mocks.verify_doubled_constant_names = true
87
87
  end
88
-
89
- # Avoid infinitely running tests. This is mainly useful when running a
90
- # mutation tester. Set the DEBUG environment variable to something truthy
91
- # like '1' to disable this and allow using pry without specs failing.
92
- unless ENV['DEBUG']
93
- config.around do |example|
94
- Timeout.timeout(5, &example)
95
- end
96
- end
97
88
  end
98
89
 
99
90
  RSpec::Matchers.define_negated_matcher :not_reek_of, :reek_of
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: 4.7.3
4
+ version: 4.8.0
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: 2017-11-05 00:00:00.000000000 Z
14
+ date: 2018-03-05 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: codeclimate-engine-rb
@@ -33,34 +33,34 @@ dependencies:
33
33
  requirements:
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '2.5'
36
+ version: '2.6'
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 2.4.0.0
39
+ version: 2.5.0.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '2.5'
46
+ version: '2.6'
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 2.4.0.0
49
+ version: 2.5.0.0
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: rainbow
52
52
  requirement: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '2.0'
56
+ version: '3.0'
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '2.0'
63
+ version: '3.0'
64
64
  description: Reek is a tool that examines Ruby classes, modules and methods and reports
65
65
  any code smells it finds.
66
66
  email:
@@ -360,6 +360,7 @@ files:
360
360
  - spec/reek/context/statement_counter_spec.rb
361
361
  - spec/reek/context_builder_spec.rb
362
362
  - spec/reek/detector_repository_spec.rb
363
+ - spec/reek/errors/base_error_spec.rb
363
364
  - spec/reek/examiner_spec.rb
364
365
  - spec/reek/logging_error_handler_spec.rb
365
366
  - spec/reek/rake/task_spec.rb
@@ -446,7 +447,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
446
447
  version: '0'
447
448
  requirements: []
448
449
  rubyforge_project:
449
- rubygems_version: 2.6.13
450
+ rubygems_version: 2.5.1
450
451
  signing_key:
451
452
  specification_version: 4
452
453
  summary: Code smell detector for Ruby