reek 5.4.1 → 6.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +8 -6
- data/.rubocop_todo.yml +25 -20
- data/.simplecov +1 -0
- data/.travis.yml +17 -11
- data/CHANGELOG.md +31 -3
- data/Dockerfile +1 -0
- data/Gemfile +14 -17
- data/README.md +15 -11
- data/bin/code_climate_reek +12 -2
- data/docs/Attribute.md +1 -1
- data/docs/Boolean-Parameter.md +1 -1
- data/docs/Control-Couple.md +1 -1
- data/docs/Nil-Check.md +4 -1
- data/features/command_line_interface/options.feature +2 -3
- data/features/configuration_files/schema_validation.feature +1 -1
- data/features/reports/codeclimate.feature +2 -2
- data/features/reports/json.feature +3 -3
- data/features/reports/reports.feature +4 -4
- data/features/reports/yaml.feature +3 -3
- data/features/step_definitions/reek_steps.rb +5 -1
- data/features/step_definitions/sample_file_steps.rb +2 -2
- data/features/support/env.rb +1 -2
- data/lib/reek.rb +1 -0
- data/lib/reek/ast/sexp_extensions/arguments.rb +11 -0
- data/lib/reek/cli/options.rb +3 -3
- data/lib/reek/code_comment.rb +45 -38
- data/lib/reek/configuration/app_configuration.rb +4 -3
- data/lib/reek/configuration/configuration_converter.rb +2 -2
- data/lib/reek/configuration/directory_directives.rb +9 -3
- data/lib/reek/context/module_context.rb +3 -1
- data/lib/reek/errors/legacy_comment_separator_error.rb +36 -0
- data/lib/reek/examiner.rb +3 -3
- data/lib/reek/report.rb +5 -7
- data/lib/reek/report/code_climate/code_climate_configuration.yml +1 -1
- data/lib/reek/report/code_climate/code_climate_report.rb +2 -1
- data/lib/reek/report/simple_warning_formatter.rb +0 -7
- data/lib/reek/report/text_report.rb +2 -2
- data/lib/reek/smell_detectors/base_detector.rb +1 -9
- data/lib/reek/smell_detectors/boolean_parameter.rb +3 -1
- data/lib/reek/smell_detectors/data_clump.rb +23 -56
- data/lib/reek/smell_detectors/nil_check.rb +1 -12
- data/lib/reek/smell_detectors/subclassed_from_core_class.rb +3 -7
- data/lib/reek/smell_detectors/uncommunicative_variable_name.rb +1 -1
- data/lib/reek/smell_warning.rb +1 -2
- data/lib/reek/source/source_code.rb +3 -2
- data/lib/reek/source/source_locator.rb +13 -10
- data/lib/reek/spec/smell_matcher.rb +2 -1
- data/lib/reek/version.rb +1 -1
- data/reek.gemspec +13 -6
- data/spec/performance/reek/smell_detectors/runtime_speed_spec.rb +2 -4
- data/spec/quality/documentation_spec.rb +2 -1
- data/spec/reek/ast/sexp_extensions_spec.rb +15 -33
- data/spec/reek/code_comment_spec.rb +41 -42
- data/spec/reek/configuration/directory_directives_spec.rb +6 -0
- data/spec/reek/context_builder_spec.rb +110 -113
- data/spec/reek/report/code_climate/code_climate_configuration_spec.rb +1 -3
- data/spec/reek/report/code_climate/code_climate_fingerprint_spec.rb +26 -26
- data/spec/reek/report/code_climate/code_climate_formatter_spec.rb +6 -6
- data/spec/reek/report/code_climate/code_climate_report_spec.rb +1 -1
- data/spec/reek/report/json_report_spec.rb +1 -1
- data/spec/reek/report/location_formatter_spec.rb +3 -3
- data/spec/reek/report/text_report_spec.rb +1 -7
- data/spec/reek/report/yaml_report_spec.rb +1 -1
- data/spec/reek/smell_detectors/base_detector_spec.rb +3 -13
- data/spec/reek/smell_detectors/data_clump_spec.rb +14 -0
- data/spec/reek/smell_detectors/missing_safe_method_spec.rb +8 -2
- data/spec/reek/smell_detectors/nil_check_spec.rb +3 -3
- data/spec/reek/smell_warning_spec.rb +12 -12
- data/spec/reek/source/source_code_spec.rb +13 -0
- data/spec/reek/spec/should_reek_of_spec.rb +0 -1
- data/spec/reek/spec/should_reek_only_of_spec.rb +6 -6
- data/spec/reek/spec/smell_matcher_spec.rb +1 -1
- data/spec/spec_helper.rb +20 -6
- data/tasks/configuration.rake +1 -2
- metadata +15 -25
- data/spec/factories/factories.rb +0 -37
data/tasks/configuration.rake
CHANGED
@@ -8,11 +8,10 @@ require 'yaml'
|
|
8
8
|
namespace :configuration do
|
9
9
|
desc 'Updates the default configuration file when smell defaults change'
|
10
10
|
task :update_default_configuration do
|
11
|
-
DEFAULT_SMELL_CONFIGURATION = 'docs/defaults.reek.yml'.freeze
|
12
11
|
content = Reek::DetectorRepository.smell_types.each_with_object({}) do |klass, hash|
|
13
12
|
hash[klass.smell_type] = Reek::Configuration::RakeTaskConverter.convert klass.default_config
|
14
13
|
end
|
15
|
-
File.open(DEFAULT_SMELL_CONFIGURATION, 'w') do |file|
|
14
|
+
File.open(Reek::DEFAULT_SMELL_CONFIGURATION, 'w') do |file|
|
16
15
|
YAML.dump({ Reek::DETECTORS_KEY => content }, file)
|
17
16
|
end
|
18
17
|
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:
|
4
|
+
version: 6.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Rutherford
|
@@ -11,22 +11,8 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2020-10-17 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
17
|
-
name: codeclimate-engine-rb
|
18
|
-
requirement: !ruby/object:Gem::Requirement
|
19
|
-
requirements:
|
20
|
-
- - "~>"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.4.0
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 0.4.0
|
30
16
|
- !ruby/object:Gem::Dependency
|
31
17
|
name: kwalify
|
32
18
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,7 +33,7 @@ dependencies:
|
|
47
33
|
requirements:
|
48
34
|
- - "<"
|
49
35
|
- !ruby/object:Gem::Version
|
50
|
-
version: '2.
|
36
|
+
version: '2.8'
|
51
37
|
- - ">="
|
52
38
|
- !ruby/object:Gem::Version
|
53
39
|
version: 2.5.0.0
|
@@ -60,7 +46,7 @@ dependencies:
|
|
60
46
|
requirements:
|
61
47
|
- - "<"
|
62
48
|
- !ruby/object:Gem::Version
|
63
|
-
version: '2.
|
49
|
+
version: '2.8'
|
64
50
|
- - ">="
|
65
51
|
- !ruby/object:Gem::Version
|
66
52
|
version: 2.5.0.0
|
@@ -73,14 +59,14 @@ dependencies:
|
|
73
59
|
requirements:
|
74
60
|
- - "~>"
|
75
61
|
- !ruby/object:Gem::Version
|
76
|
-
version: 3.1
|
62
|
+
version: '3.1'
|
77
63
|
type: :runtime
|
78
64
|
prerelease: false
|
79
65
|
version_requirements: !ruby/object:Gem::Requirement
|
80
66
|
requirements:
|
81
67
|
- - "~>"
|
82
68
|
- !ruby/object:Gem::Version
|
83
|
-
version: 3.1
|
69
|
+
version: '3.1'
|
84
70
|
- !ruby/object:Gem::Dependency
|
85
71
|
name: rainbow
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -281,6 +267,7 @@ files:
|
|
281
267
|
- lib/reek/errors/encoding_error.rb
|
282
268
|
- lib/reek/errors/garbage_detector_configuration_in_comment_error.rb
|
283
269
|
- lib/reek/errors/incomprehensible_source_error.rb
|
270
|
+
- lib/reek/errors/legacy_comment_separator_error.rb
|
284
271
|
- lib/reek/errors/syntax_error.rb
|
285
272
|
- lib/reek/examiner.rb
|
286
273
|
- lib/reek/logging_error_handler.rb
|
@@ -385,7 +372,6 @@ files:
|
|
385
372
|
- samples/source_with_non_ruby_files/gibberish
|
386
373
|
- samples/source_with_non_ruby_files/python_source.py
|
387
374
|
- samples/source_with_non_ruby_files/ruby.rb
|
388
|
-
- spec/factories/factories.rb
|
389
375
|
- spec/performance/reek/smell_detectors/runtime_speed_spec.rb
|
390
376
|
- spec/quality/documentation_spec.rb
|
391
377
|
- spec/quality/reek_source_spec.rb
|
@@ -479,7 +465,12 @@ files:
|
|
479
465
|
homepage: https://github.com/troessner/reek
|
480
466
|
licenses:
|
481
467
|
- MIT
|
482
|
-
metadata:
|
468
|
+
metadata:
|
469
|
+
homepage_uri: https://github.com/troessner/reek
|
470
|
+
source_code_uri: https://github.com/troessner/reek
|
471
|
+
bug_tracker_uri: https://github.com/troessner/reek/issues
|
472
|
+
changelog_uri: https://github.com/troessner/reek/CHANGELOG.md
|
473
|
+
documentation_uri: https://www.rubydoc.info/gems/reek
|
483
474
|
post_install_message:
|
484
475
|
rdoc_options:
|
485
476
|
- "--main"
|
@@ -492,15 +483,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
492
483
|
requirements:
|
493
484
|
- - ">="
|
494
485
|
- !ruby/object:Gem::Version
|
495
|
-
version: 2.
|
486
|
+
version: 2.4.0
|
496
487
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
497
488
|
requirements:
|
498
489
|
- - ">="
|
499
490
|
- !ruby/object:Gem::Version
|
500
491
|
version: '0'
|
501
492
|
requirements: []
|
502
|
-
|
503
|
-
rubygems_version: 2.7.7
|
493
|
+
rubygems_version: 3.1.2
|
504
494
|
signing_key:
|
505
495
|
specification_version: 4
|
506
496
|
summary: Code smell detector for Ruby
|
data/spec/factories/factories.rb
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
require_relative '../../lib/reek/smell_detectors'
|
2
|
-
require_relative '../../lib/reek/smell_detectors/base_detector'
|
3
|
-
require_relative '../../lib/reek/smell_warning'
|
4
|
-
require_relative '../../lib/reek/cli/options'
|
5
|
-
|
6
|
-
FactoryBot.define do
|
7
|
-
factory :smell_warning, class: Reek::SmellWarning do
|
8
|
-
skip_create
|
9
|
-
|
10
|
-
smell_type { 'FeatureEnvy' }
|
11
|
-
source { 'dummy_file' }
|
12
|
-
lines { [42] }
|
13
|
-
message { 'smell warning message' }
|
14
|
-
parameters { {} }
|
15
|
-
context { 'self' }
|
16
|
-
|
17
|
-
initialize_with do
|
18
|
-
new(smell_type,
|
19
|
-
source: source,
|
20
|
-
context: context,
|
21
|
-
lines: lines,
|
22
|
-
message: message,
|
23
|
-
parameters: parameters)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
factory :code_comment, class: Reek::CodeComment do
|
28
|
-
comment { '' }
|
29
|
-
line { 1 }
|
30
|
-
source { 'string' }
|
31
|
-
initialize_with do
|
32
|
-
new comment: comment,
|
33
|
-
line: line,
|
34
|
-
source: source
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|