reek 4.5.5 → 4.5.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +12 -10
- data/CHANGELOG.md +8 -3
- data/Dockerfile +1 -0
- data/Gemfile +1 -2
- data/README.md +3 -1
- data/docs/Nil-Check.md +1 -1
- data/lib/reek/cli/command/report_command.rb +3 -1
- data/lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb +2 -1
- data/lib/reek/errors/bad_detector_in_comment_error.rb +2 -1
- data/lib/reek/errors/base_error.rb +9 -0
- data/lib/reek/errors/garbage_detector_configuration_in_comment_error.rb +2 -1
- data/lib/reek/errors/incomprehensible_source_error.rb +47 -0
- data/lib/reek/examiner.rb +16 -41
- data/lib/reek/logging_error_handler.rb +15 -0
- data/lib/reek/report/code_climate/code_climate_configuration.yml +1 -1
- data/lib/reek/version.rb +1 -1
- data/reek.gemspec +1 -1
- data/spec/reek/examiner_spec.rb +30 -31
- data/spec/reek/logging_error_handler_spec.rb +24 -0
- data/spec/spec_helper.rb +3 -3
- metadata +10 -7
- data/tasks/mutant.rake +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c4b9b3b7dc545af9ebbca5f6f24442fa31e6082
|
4
|
+
data.tar.gz: 8deb694c3389aeb962fbeef331eab9ba4706ee0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8fc3081171e7e5cf12b19b4ba8c1a46590d5d197d8baf6373a759a88f90f092da133282d50f7a292bcb0fe812c6890d3db87c02b1620af434b8d3c579aa3592
|
7
|
+
data.tar.gz: 2474e384c11004a10ede8186caa46a504a0d5a8fdc9b2e5ded5b8fd6bd34b3ffc3f922c04ffce0ed75530002f8fc11ba2bd73ea047a8feb9c5a7dfd7149cbbbf
|
data/.travis.yml
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
sudo: false
|
2
|
+
dist: trusty
|
2
3
|
cache: bundler
|
3
4
|
language: ruby
|
4
5
|
bundler_args: --without debugging
|
@@ -6,23 +7,24 @@ script: bundle exec rake ci
|
|
6
7
|
rvm:
|
7
8
|
- 2.1
|
8
9
|
- 2.2
|
9
|
-
- 2.3
|
10
|
-
-
|
10
|
+
- 2.3
|
11
|
+
- 2.4
|
12
|
+
- jruby-9.1.7.0
|
13
|
+
- jruby-head
|
11
14
|
- ruby-head
|
15
|
+
- rubinius-3
|
12
16
|
matrix:
|
13
|
-
include:
|
14
|
-
- rvm: jruby
|
15
|
-
env: JRUBY_OPTS='--2.0 --server -Xcompile.invokedynamic=false'
|
16
|
-
- rvm: jruby-head
|
17
|
-
env: JRUBY_OPTS='--server -Xcompile.invokedynamic=false'
|
18
17
|
allow_failures:
|
19
|
-
- rvm: jruby
|
18
|
+
- rvm: jruby-9.1.7.0
|
20
19
|
- rvm: jruby-head
|
21
|
-
- rvm: rbx-2
|
22
20
|
- rvm: ruby-head
|
21
|
+
- rvm: rubinius-3
|
23
22
|
fast_finish: true
|
24
23
|
before_install:
|
25
|
-
-
|
24
|
+
- rvm use @global
|
25
|
+
- gem uninstall bundler -x
|
26
|
+
- gem install bundler --version=1.13.7
|
27
|
+
- bundler --version
|
26
28
|
notifications:
|
27
29
|
email:
|
28
30
|
- timo.roessner@googlemail.com
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
+
## 4.5.6 (2017-02-17)
|
4
|
+
|
5
|
+
* (mvz) Raise on errors inside of Examiner#smells instead of outputting to STDERR
|
6
|
+
* (mvz) Update parser dependency
|
7
|
+
|
3
8
|
## 4.5.5 (2017-02-05)
|
4
9
|
|
5
10
|
* (mvz) Load YAML in code comments safely
|
@@ -25,10 +30,10 @@
|
|
25
30
|
|
26
31
|
## 4.5.0 (2016-10-12)
|
27
32
|
|
28
|
-
* (maxjacobson) Emit fingerprints in Code Climate reporter
|
29
|
-
* (mvz) Disable progress for piped output
|
30
|
-
* (mvz) Update progress formatter to match changed file location
|
31
33
|
* (jhubert) Add progress formatters for showing progress on each file
|
34
|
+
* (mvz) Update progress formatter to match changed file location
|
35
|
+
* (mvz) Disable progress for piped output
|
36
|
+
* (maxjacobson) Emit fingerprints in Code Climate reporter
|
32
37
|
|
33
38
|
## 4.4.4 (2016-09-29)
|
34
39
|
|
data/Dockerfile
CHANGED
data/Gemfile
CHANGED
@@ -10,10 +10,9 @@ group :development do
|
|
10
10
|
gem 'ataru', '~> 0.2.0'
|
11
11
|
gem 'cucumber', '~> 2.0'
|
12
12
|
gem 'factory_girl', '~> 4.0'
|
13
|
-
gem 'mutant-rspec', '~> 0.8.8'
|
14
13
|
gem 'rake', '~> 12.0'
|
15
14
|
gem 'rspec', '~> 3.0'
|
16
|
-
gem 'simplecov', '~> 0.
|
15
|
+
gem 'simplecov', '~> 0.13.0'
|
17
16
|
gem 'yard', '~> 0.9.5'
|
18
17
|
|
19
18
|
if RUBY_VERSION >= '2.3'
|
data/README.md
CHANGED
@@ -483,7 +483,9 @@ You can also run:
|
|
483
483
|
bundle exec rake ci
|
484
484
|
```
|
485
485
|
|
486
|
-
This will run everything the default task runs and also
|
486
|
+
This will run everything the default task runs and also
|
487
|
+
[Ataru](https://github.com/CodePadawans/ataru). This is the task that we run on
|
488
|
+
Travis as well and that determines if your pull request is green or red.
|
487
489
|
|
488
490
|
Another useful Rake task is the `console` task. This will throw you right into an environment where you can play around with Reeks modules and classes:
|
489
491
|
|
data/docs/Nil-Check.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require_relative 'base_command'
|
3
3
|
require_relative '../../examiner'
|
4
|
+
require_relative '../../logging_error_handler'
|
4
5
|
require_relative '../../report'
|
5
6
|
|
6
7
|
module Reek
|
@@ -23,7 +24,8 @@ module Reek
|
|
23
24
|
sources.each do |source|
|
24
25
|
reporter.add_examiner Examiner.new(source,
|
25
26
|
filter_by_smells: smell_names,
|
26
|
-
configuration: configuration
|
27
|
+
configuration: configuration,
|
28
|
+
error_handler: LoggingErrorHandler.new)
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require_relative 'base_error'
|
2
3
|
|
3
4
|
module Reek
|
4
5
|
module Errors
|
5
6
|
# Gets raised when trying to configure a detector with an option
|
6
7
|
# which is unknown to it.
|
7
|
-
class BadDetectorConfigurationKeyInCommentError <
|
8
|
+
class BadDetectorConfigurationKeyInCommentError < BaseError
|
8
9
|
UNKNOWN_SMELL_DETECTOR_MESSAGE = <<-EOS.freeze
|
9
10
|
|
10
11
|
Error: You are trying to configure the smell detector '%s'
|
@@ -1,11 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require_relative 'base_error'
|
2
3
|
|
3
4
|
module Reek
|
4
5
|
module Errors
|
5
6
|
# Gets raised when trying to configure a detector which is unknown to us.
|
6
7
|
# This might happen for multiple reasons. The users might have a typo in
|
7
8
|
# his comment or he might use a detector that does not exist anymore.
|
8
|
-
class BadDetectorInCommentError <
|
9
|
+
class BadDetectorInCommentError < BaseError
|
9
10
|
UNKNOWN_SMELL_DETECTOR_MESSAGE = <<-EOS.freeze
|
10
11
|
|
11
12
|
Error: You are trying to configure an unknown smell detector '%s' in one
|
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require_relative 'base_error'
|
2
3
|
|
3
4
|
module Reek
|
4
5
|
module Errors
|
5
6
|
# Gets raised when trying to use a configuration for a detector
|
6
7
|
# that can't be parsed into a hash.
|
7
|
-
class GarbageDetectorConfigurationInCommentError <
|
8
|
+
class GarbageDetectorConfigurationInCommentError < BaseError
|
8
9
|
BAD_DETECTOR_CONFIGURATION_MESSAGE = <<-EOS.freeze
|
9
10
|
|
10
11
|
Error: You are trying to configure the smell detector '%s'.
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative 'base_error'
|
3
|
+
|
4
|
+
module Reek
|
5
|
+
module Errors
|
6
|
+
# Gets raised when Reek is unable to process the source
|
7
|
+
class IncomprehensibleSourceError < BaseError
|
8
|
+
INCOMPREHENSIBLE_SOURCE_TEMPLATE = <<-EOS.freeze
|
9
|
+
!!!
|
10
|
+
Source %s can not be processed by Reek.
|
11
|
+
|
12
|
+
This is most likely either a bug in your Reek configuration (config file or
|
13
|
+
source code comments) or a Reek bug.
|
14
|
+
|
15
|
+
Please double check your Reek configuration taking the original exception
|
16
|
+
below into account - you might have misspelled a smell detector for instance.
|
17
|
+
(In the future Reek will handle configuration errors more gracefully, something
|
18
|
+
we are working on already).
|
19
|
+
|
20
|
+
If you feel that this is not a problem with your Reek configuration but with
|
21
|
+
Reek itself it would be great if you could report this back to the Reek
|
22
|
+
team by opening up a corresponding issue at https://github.com/troessner/reek/issues.
|
23
|
+
|
24
|
+
Please make sure to include the source in question, the Reek version
|
25
|
+
and the original exception below.
|
26
|
+
|
27
|
+
Exception message:
|
28
|
+
|
29
|
+
%s
|
30
|
+
|
31
|
+
Original exception:
|
32
|
+
|
33
|
+
%s
|
34
|
+
|
35
|
+
!!!
|
36
|
+
EOS
|
37
|
+
|
38
|
+
def initialize(origin:, original_exception:)
|
39
|
+
message = format(INCOMPREHENSIBLE_SOURCE_TEMPLATE,
|
40
|
+
origin,
|
41
|
+
original_exception.message,
|
42
|
+
original_exception.backtrace.join("\n\t"))
|
43
|
+
super message
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/reek/examiner.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require_relative 'context_builder'
|
3
|
-
require_relative 'errors/bad_detector_in_comment_error'
|
4
|
-
require_relative 'errors/garbage_detector_configuration_in_comment_error'
|
5
3
|
require_relative 'detector_repository'
|
4
|
+
require_relative 'errors/incomprehensible_source_error'
|
6
5
|
require_relative 'source/source_code'
|
7
6
|
|
8
7
|
module Reek
|
@@ -11,35 +10,13 @@ module Reek
|
|
11
10
|
#
|
12
11
|
# @public
|
13
12
|
class Examiner
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
Please double check your Reek configuration taking the original exception
|
22
|
-
below into account - you might have misspelled a smell detector for instance.
|
23
|
-
(In the future Reek will handle configuration errors more gracefully, something
|
24
|
-
we are working on already).
|
25
|
-
|
26
|
-
If you feel that this is not a problem with your Reek configuration but with
|
27
|
-
Reek itself it would be great if you could report this back to the Reek
|
28
|
-
team by opening up a corresponding issue at https://github.com/troessner/reek/issues.
|
29
|
-
|
30
|
-
Please make sure to include the source in question, the Reek version
|
31
|
-
and the original exception below.
|
32
|
-
|
33
|
-
Exception message:
|
34
|
-
|
35
|
-
%s
|
36
|
-
|
37
|
-
Original exception:
|
38
|
-
|
39
|
-
%s
|
13
|
+
# Handles no errors
|
14
|
+
class NullHandler
|
15
|
+
def handle(_exception)
|
16
|
+
false
|
17
|
+
end
|
18
|
+
end
|
40
19
|
|
41
|
-
!!!
|
42
|
-
EOS
|
43
20
|
#
|
44
21
|
# Creates an Examiner which scans the given +source+ for code smells.
|
45
22
|
#
|
@@ -57,11 +34,13 @@ module Reek
|
|
57
34
|
def initialize(source,
|
58
35
|
filter_by_smells: [],
|
59
36
|
configuration: Configuration::AppConfiguration.default,
|
60
|
-
detector_repository_class: DetectorRepository
|
37
|
+
detector_repository_class: DetectorRepository,
|
38
|
+
error_handler: NullHandler.new)
|
61
39
|
@source = Source::SourceCode.from(source)
|
62
40
|
@smell_types = detector_repository_class.eligible_smell_types(filter_by_smells)
|
63
41
|
@detector_repository = detector_repository_class.new(smell_types: @smell_types,
|
64
42
|
configuration: configuration.directive_for(description))
|
43
|
+
@error_handler = error_handler
|
65
44
|
end
|
66
45
|
|
67
46
|
# @return [String] origin of the source being analysed
|
@@ -120,16 +99,8 @@ module Reek
|
|
120
99
|
return [] unless syntax_tree
|
121
100
|
begin
|
122
101
|
examine_tree
|
123
|
-
rescue Errors::
|
124
|
-
|
125
|
-
Errors::BadDetectorConfigurationKeyInCommentError => exception
|
126
|
-
warn exception
|
127
|
-
[]
|
128
|
-
rescue StandardError => exception
|
129
|
-
warn format(INCOMPREHENSIBLE_SOURCE_TEMPLATE,
|
130
|
-
origin,
|
131
|
-
exception.message,
|
132
|
-
exception.backtrace.join("\n\t"))
|
102
|
+
rescue Errors::BaseError => exception
|
103
|
+
raise unless @error_handler.handle exception
|
133
104
|
[]
|
134
105
|
end
|
135
106
|
end
|
@@ -142,6 +113,10 @@ module Reek
|
|
142
113
|
ContextBuilder.new(syntax_tree).context_tree.flat_map do |element|
|
143
114
|
detector_repository.examine(element)
|
144
115
|
end
|
116
|
+
rescue Errors::BaseError
|
117
|
+
raise
|
118
|
+
rescue StandardError => exception
|
119
|
+
raise Errors::IncomprehensibleSourceError, origin: origin, original_exception: exception
|
145
120
|
end
|
146
121
|
end
|
147
122
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative 'errors/bad_detector_configuration_key_in_comment_error'
|
3
|
+
require_relative 'errors/bad_detector_in_comment_error'
|
4
|
+
require_relative 'errors/garbage_detector_configuration_in_comment_error'
|
5
|
+
require_relative 'errors/incomprehensible_source_error'
|
6
|
+
|
7
|
+
module Reek
|
8
|
+
# Handles errors by logging to stderr
|
9
|
+
class LoggingErrorHandler
|
10
|
+
def handle(exception)
|
11
|
+
warn exception
|
12
|
+
true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -432,7 +432,7 @@ LongYieldList:
|
|
432
432
|
ManualDispatch:
|
433
433
|
remediation_points: 350_000
|
434
434
|
content: |
|
435
|
-
Reek reports a _Manual Dispatch_ smell if it finds source code that manually checks whether an object responds to a method before that method is called. Manual dispatch is a type of
|
435
|
+
Reek reports a _Manual Dispatch_ smell if it finds source code that manually checks whether an object responds to a method before that method is called. Manual dispatch is a type of Simulated Polymorphism which leads to code that is harder to reason about, debug, and refactor.
|
436
436
|
|
437
437
|
## Example
|
438
438
|
|
data/lib/reek/version.rb
CHANGED
data/reek.gemspec
CHANGED
@@ -22,6 +22,6 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.summary = 'Code smell detector for Ruby'
|
23
23
|
|
24
24
|
s.add_runtime_dependency 'codeclimate-engine-rb', '~> 0.4.0'
|
25
|
-
s.add_runtime_dependency 'parser', '
|
25
|
+
s.add_runtime_dependency 'parser', '< 2.5', '>= 2.3.1.2'
|
26
26
|
s.add_runtime_dependency 'rainbow', '~> 2.0'
|
27
27
|
end
|
data/spec/reek/examiner_spec.rb
CHANGED
@@ -122,30 +122,29 @@ RSpec.describe Reek::Examiner do
|
|
122
122
|
described_class.new source
|
123
123
|
end
|
124
124
|
|
125
|
-
it '
|
126
|
-
Reek::
|
127
|
-
expect(examiner.smells).to be_empty
|
128
|
-
end
|
125
|
+
it 'raises an incomprehensible source error' do
|
126
|
+
expect { examiner.smells }.to raise_error Reek::Errors::IncomprehensibleSourceError
|
129
127
|
end
|
130
128
|
|
131
|
-
it '
|
129
|
+
it 'explains the origin of the error' do
|
132
130
|
origin = 'string'
|
133
|
-
expect { examiner.smells }.to
|
131
|
+
expect { examiner.smells }.to raise_error.with_message(/#{origin}/)
|
134
132
|
end
|
135
133
|
|
136
134
|
it 'explains what to do' do
|
137
135
|
explanation = 'Please double check your Reek configuration'
|
138
|
-
expect { examiner.smells }.to
|
136
|
+
expect { examiner.smells }.to raise_error.with_message(/#{explanation}/)
|
139
137
|
end
|
140
138
|
|
141
|
-
it 'contains
|
139
|
+
it 'contains the original error message' do
|
142
140
|
original = 'Looks like bad source'
|
143
|
-
expect { examiner.smells }.to
|
141
|
+
expect { examiner.smells }.to raise_error.with_message(/#{original}/)
|
144
142
|
end
|
145
143
|
end
|
146
144
|
end
|
147
145
|
|
148
146
|
describe 'bad comment config' do
|
147
|
+
let(:examiner) { described_class.new(source) }
|
149
148
|
context 'unknown smell detector' do
|
150
149
|
let(:source) do
|
151
150
|
<<-EOS
|
@@ -154,21 +153,21 @@ RSpec.describe Reek::Examiner do
|
|
154
153
|
EOS
|
155
154
|
end
|
156
155
|
|
157
|
-
it '
|
158
|
-
|
156
|
+
it 'raises a bad detector name error' do
|
157
|
+
expect { examiner.smells }.to raise_error Reek::Errors::BadDetectorInCommentError
|
158
|
+
end
|
159
|
+
|
160
|
+
it 'explains the reason for the error' do
|
161
|
+
message = "You are trying to configure an unknown smell detector 'DoesNotExist'"
|
159
162
|
|
160
|
-
expect
|
161
|
-
described_class.new(source).smells
|
162
|
-
end.to output(/#{expected_output}/).to_stderr
|
163
|
+
expect { examiner.smells }.to raise_error.with_message(/#{message}/)
|
163
164
|
end
|
164
165
|
|
165
|
-
it '
|
166
|
-
|
167
|
-
|
166
|
+
it 'explains the origin of the error' do
|
167
|
+
details = "The source is 'string' and the comment belongs "\
|
168
|
+
'to the expression starting in line 2.'
|
168
169
|
|
169
|
-
expect
|
170
|
-
described_class.new(source).smells
|
171
|
-
end.to output(/#{expected_output}/).to_stderr
|
170
|
+
expect { examiner.smells }.to raise_error.with_message(/#{details}/)
|
172
171
|
end
|
173
172
|
end
|
174
173
|
|
@@ -180,21 +179,21 @@ RSpec.describe Reek::Examiner do
|
|
180
179
|
EOS
|
181
180
|
end
|
182
181
|
|
183
|
-
it '
|
184
|
-
|
182
|
+
it 'raises a garbarge configuration error' do
|
183
|
+
expect { examiner.smells }.to raise_error Reek::Errors::GarbageDetectorConfigurationInCommentError
|
184
|
+
end
|
185
|
+
|
186
|
+
it 'explains the reason for the error' do
|
187
|
+
message = "Error: You are trying to configure the smell detector 'UncommunicativeMethodName'"
|
185
188
|
|
186
|
-
expect
|
187
|
-
described_class.new(source).smells
|
188
|
-
end.to output(/#{expected_output}/).to_stderr
|
189
|
+
expect { examiner.smells }.to raise_error.with_message(/#{message}/)
|
189
190
|
end
|
190
191
|
|
191
|
-
it '
|
192
|
-
|
193
|
-
|
192
|
+
it 'explains the origin of the error' do
|
193
|
+
details = "The source is 'string' and the comment belongs "\
|
194
|
+
'to the expression starting in line 2.'
|
194
195
|
|
195
|
-
expect
|
196
|
-
described_class.new(source).smells
|
197
|
-
end.to output(/#{expected_output}/).to_stderr
|
196
|
+
expect { examiner.smells }.to raise_error.with_message(/#{details}/)
|
198
197
|
end
|
199
198
|
end
|
200
199
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative '../spec_helper'
|
2
|
+
require_lib 'reek/logging_error_handler'
|
3
|
+
|
4
|
+
RSpec.describe Reek::LoggingErrorHandler do
|
5
|
+
describe '#handle' do
|
6
|
+
let(:exception) { RuntimeError.new('some message') }
|
7
|
+
let(:handler) { described_class.new }
|
8
|
+
|
9
|
+
it "outputs the exception's message to stderr" do
|
10
|
+
expect { handler.handle(exception) }.
|
11
|
+
to output(/some message/).to_stderr
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'indicates the exception has been appropriately handled' do
|
15
|
+
result = false
|
16
|
+
|
17
|
+
Reek::CLI::Silencer.silently do
|
18
|
+
result = handler.handle(exception)
|
19
|
+
end
|
20
|
+
|
21
|
+
expect(result).to be_truthy
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -84,9 +84,9 @@ RSpec.configure do |config|
|
|
84
84
|
mocks.verify_doubled_constant_names = true
|
85
85
|
end
|
86
86
|
|
87
|
-
# Avoid infinitely running tests. This is mainly useful when running
|
88
|
-
# Set the DEBUG environment variable to something truthy
|
89
|
-
# this and allow using pry without specs failing.
|
87
|
+
# Avoid infinitely running tests. This is mainly useful when running a
|
88
|
+
# mutation tester. Set the DEBUG environment variable to something truthy
|
89
|
+
# like '1' to disable this and allow using pry without specs failing.
|
90
90
|
unless ENV['DEBUG']
|
91
91
|
config.around(:each) do |example|
|
92
92
|
Timeout.timeout(5, &example)
|
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.5.
|
4
|
+
version: 4.5.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: 2017-02-
|
14
|
+
date: 2017-02-18 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: codeclimate-engine-rb
|
@@ -31,9 +31,9 @@ dependencies:
|
|
31
31
|
name: parser
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- - "
|
34
|
+
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 2.
|
36
|
+
version: '2.5'
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: 2.3.1.2
|
@@ -41,9 +41,9 @@ dependencies:
|
|
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.
|
46
|
+
version: '2.5'
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: 2.3.1.2
|
@@ -226,8 +226,11 @@ files:
|
|
226
226
|
- lib/reek/detector_repository.rb
|
227
227
|
- lib/reek/errors/bad_detector_configuration_key_in_comment_error.rb
|
228
228
|
- lib/reek/errors/bad_detector_in_comment_error.rb
|
229
|
+
- lib/reek/errors/base_error.rb
|
229
230
|
- lib/reek/errors/garbage_detector_configuration_in_comment_error.rb
|
231
|
+
- lib/reek/errors/incomprehensible_source_error.rb
|
230
232
|
- lib/reek/examiner.rb
|
233
|
+
- lib/reek/logging_error_handler.rb
|
231
234
|
- lib/reek/rake/task.rb
|
232
235
|
- lib/reek/report.rb
|
233
236
|
- lib/reek/report/base_report.rb
|
@@ -351,6 +354,7 @@ files:
|
|
351
354
|
- spec/reek/context_builder_spec.rb
|
352
355
|
- spec/reek/detector_repository_spec.rb
|
353
356
|
- spec/reek/examiner_spec.rb
|
357
|
+
- spec/reek/logging_error_handler_spec.rb
|
354
358
|
- spec/reek/rake/task_spec.rb
|
355
359
|
- spec/reek/report/code_climate/code_climate_configuration_spec.rb
|
356
360
|
- spec/reek/report/code_climate/code_climate_fingerprint_spec.rb
|
@@ -407,7 +411,6 @@ files:
|
|
407
411
|
- tasks/ataru.rake
|
408
412
|
- tasks/configuration.rake
|
409
413
|
- tasks/console.rake
|
410
|
-
- tasks/mutant.rake
|
411
414
|
- tasks/reek.rake
|
412
415
|
- tasks/rubocop.rake
|
413
416
|
- tasks/test.rake
|
data/tasks/mutant.rake
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
desc 'Runs mutant'
|
2
|
-
task :mutant do
|
3
|
-
command = <<-EOS
|
4
|
-
RUBY_THREAD_VM_STACK_SIZE=64000\
|
5
|
-
bundle exec mutant\
|
6
|
-
--include lib\
|
7
|
-
--require reek\
|
8
|
-
--use rspec\
|
9
|
-
--since master^\
|
10
|
-
--jobs 4 'Reek*'
|
11
|
-
EOS
|
12
|
-
system command
|
13
|
-
abort unless $CHILD_STATUS.success?
|
14
|
-
end
|