reek 4.5.5 → 4.5.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.
- 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
|