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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f744d82cb65c9d8b3d9f360ed948e1bf7944299a
4
- data.tar.gz: e74921da8bed3e617aeb1a80d9085f0876c80f38
3
+ metadata.gz: 6c4b9b3b7dc545af9ebbca5f6f24442fa31e6082
4
+ data.tar.gz: 8deb694c3389aeb962fbeef331eab9ba4706ee0e
5
5
  SHA512:
6
- metadata.gz: 04bc673256d4145a067b4cbe45d9d0d7a2bfd5170779a6ee2520dedc73ec09abbbad073e17d40dd2cbbd70dbab2f5ea297608a244b448fd71020c4525dc76cc9
7
- data.tar.gz: d43b2c46f59d642e127edc26813058937e90ee10811ca5484f6487f2a2908c3bd313a53317a7c00c166b4553d54dbb35b894cc7d8dc9d068fcd3f34c0fe98052
6
+ metadata.gz: d8fc3081171e7e5cf12b19b4ba8c1a46590d5d197d8baf6373a759a88f90f092da133282d50f7a292bcb0fe812c6890d3db87c02b1620af434b8d3c579aa3592
7
+ data.tar.gz: 2474e384c11004a10ede8186caa46a504a0d5a8fdc9b2e5ded5b8fd6bd34b3ffc3f922c04ffce0ed75530002f8fc11ba2bd73ea047a8feb9c5a7dfd7149cbbbf
@@ -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.0
10
- - rbx-2
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
- - gem install bundler
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
@@ -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
@@ -20,6 +20,7 @@ USER ${user}
20
20
 
21
21
  WORKDIR ${app_dir}
22
22
 
23
+ RUN gem install rake
23
24
  RUN bundle install --without debugging development
24
25
 
25
26
  VOLUME ${code_dir}
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.12.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 [Ataru](https://github.com/CodePadawans/ataru) and [Mutant](https://github.com/mbj/mutant). This is the task that we run on Travis as well and that determines if your pull request is green or red.
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
 
@@ -17,7 +17,7 @@ Given
17
17
  class Klass
18
18
  def nil_checker(argument)
19
19
  if argument.nil?
20
- puts "argument isn't nil!"
20
+ puts "argument is nil!"
21
21
  end
22
22
  end
23
23
  end
@@ -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 < RuntimeError
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 < RuntimeError
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
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Reek
4
+ module Errors
5
+ # Base class for all runtime Reek errors
6
+ class BaseError < ::RuntimeError
7
+ end
8
+ end
9
+ end
@@ -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 < RuntimeError
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
@@ -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
- INCOMPREHENSIBLE_SOURCE_TEMPLATE = <<-EOS.freeze
15
- !!!
16
- Source %s can not be processed by Reek.
17
-
18
- This is most likely either a bug in your Reek configuration (config file or
19
- source code comments) or a Reek bug.
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::BadDetectorInCommentError,
124
- Errors::GarbageDetectorConfigurationInCommentError,
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 [Simulated Polymorphism](Simulated-Polymorphism.md) which leads to code that is harder to reason about, debug, and refactor.
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
 
@@ -7,6 +7,6 @@ module Reek
7
7
  # @public
8
8
  module Version
9
9
  # @public
10
- STRING = '4.5.5'.freeze
10
+ STRING = '4.5.6'.freeze
11
11
  end
12
12
  end
@@ -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', '~> 2.3.1', '>= 2.3.1.2'
25
+ s.add_runtime_dependency 'parser', '< 2.5', '>= 2.3.1.2'
26
26
  s.add_runtime_dependency 'rainbow', '~> 2.0'
27
27
  end
@@ -122,30 +122,29 @@ RSpec.describe Reek::Examiner do
122
122
  described_class.new source
123
123
  end
124
124
 
125
- it 'returns no smell warnings' do
126
- Reek::CLI::Silencer.silently do
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 'prints the origin' do
129
+ it 'explains the origin of the error' do
132
130
  origin = 'string'
133
- expect { examiner.smells }.to output(/#{origin}/).to_stderr
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 output(/#{explanation}/).to_stderr
136
+ expect { examiner.smells }.to raise_error.with_message(/#{explanation}/)
139
137
  end
140
138
 
141
- it 'contains a message' do
139
+ it 'contains the original error message' do
142
140
  original = 'Looks like bad source'
143
- expect { examiner.smells }.to output(/#{original}/).to_stderr
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 'prints out a proper message' do
158
- expected_output = "You are trying to configure an unknown smell detector 'DoesNotExist'"
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 do
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 'prints out a line and a source' do
166
- expected_output = "The source is 'string' and the comment belongs "\
167
- 'to the expression starting in line 2.'
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 do
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 'prints out a proper message' do
184
- expected_output = "Error: You are trying to configure the smell detector 'UncommunicativeMethodName'"
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 do
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 'prints out a line and a source' do
192
- expected_output = "The source is 'string' and "\
193
- 'the comment belongs to the expression starting in line 2'
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 do
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
@@ -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 mutant.
88
- # Set the DEBUG environment variable to something truthy like '1' to disable
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.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-05 00:00:00.000000000 Z
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.3.1
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.3.1
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
@@ -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