reek 6.0.2 → 6.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +9 -0
- data/.github/workflows/ruby.yml +52 -0
- data/.rubocop_todo.yml +6 -4
- data/CHANGELOG.md +6 -1
- data/Gemfile +4 -4
- data/docs/Boolean-Parameter.md +1 -1
- data/docs/templates/default/docstring/setup.rb +1 -3
- data/features/command_line_interface/options.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/lib/reek/ast/node.rb +1 -1
- data/lib/reek/configuration/excluded_paths.rb +2 -1
- data/lib/reek/context/code_context.rb +1 -1
- data/lib/reek/context/refinement_context.rb +16 -0
- data/lib/reek/context_builder.rb +16 -2
- data/lib/reek/version.rb +1 -1
- data/reek.gemspec +1 -1
- data/spec/reek/configuration/excluded_paths_spec.rb +12 -3
- data/spec/reek/smell_detectors/utility_function_spec.rb +16 -0
- metadata +14 -23
- data/.travis.yml +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 967e95555fe823e1924a78ff2a8c94c40bdb4d16d031bacd51b885d1475bce30
|
4
|
+
data.tar.gz: c9760389b64b3bb9f96f1896192a540a4de8b7f395808299b9a67e47238e8c42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea4c588166903c10bed44c2a459e43e4db479943f8f489ca1eaefbb6db375605e06ff678f5411def292e19ef8c2754245bca78eb24373532474091b0ab8eadbe
|
7
|
+
data.tar.gz: 9e0804841d54d4278149422d66c7e379597e3f99275ba8b9ab4aef6e7041bde6c928db5f3c62a3b5c3d1d6fc4da0216ba5d13aa5562f9e0b565ec31bb115d0fe
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and
|
2
|
+
# run tests with Rake
|
3
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
4
|
+
|
5
|
+
name: Ruby
|
6
|
+
|
7
|
+
on:
|
8
|
+
push:
|
9
|
+
branches: [ master ]
|
10
|
+
pull_request:
|
11
|
+
branches: [ master ]
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
test:
|
15
|
+
|
16
|
+
runs-on: ubuntu-latest
|
17
|
+
|
18
|
+
strategy:
|
19
|
+
matrix:
|
20
|
+
ruby: [2.4, 2.5, 2.6, 2.7, jruby-9.2]
|
21
|
+
|
22
|
+
steps:
|
23
|
+
- uses: actions/checkout@v2
|
24
|
+
- name: Set up Ruby
|
25
|
+
uses: ruby/setup-ruby@v1
|
26
|
+
with:
|
27
|
+
ruby-version: ${{ matrix.ruby }}
|
28
|
+
bundler-cache: true
|
29
|
+
- name: Run specs
|
30
|
+
run: bundle exec rake test:spec
|
31
|
+
- name: Run performance tests
|
32
|
+
run: bundle exec rake test:performance
|
33
|
+
- name: Update default configuration
|
34
|
+
run: bundle exec rake configuration:update_default_configuration
|
35
|
+
- name: Run cucumber features
|
36
|
+
run: bundle exec rake test:features
|
37
|
+
- name: Run code quality specs
|
38
|
+
run: bundle exec rake test:quality
|
39
|
+
|
40
|
+
rubocop:
|
41
|
+
|
42
|
+
runs-on: ubuntu-latest
|
43
|
+
|
44
|
+
steps:
|
45
|
+
- uses: actions/checkout@v2
|
46
|
+
- name: Set up Ruby
|
47
|
+
uses: ruby/setup-ruby@v1
|
48
|
+
with:
|
49
|
+
ruby-version: 2.7
|
50
|
+
bundler-cache: true
|
51
|
+
- name: Run RuboCop
|
52
|
+
run: bundle exec rubocop -P
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2021-01-03 18:17:11 UTC using RuboCop version 1.7.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -13,22 +13,24 @@ Lint/MissingSuper:
|
|
13
13
|
- 'lib/reek/smell_detectors/base_detector.rb'
|
14
14
|
|
15
15
|
# Offense count: 2
|
16
|
+
# Configuration parameters: IgnoredPatterns.
|
17
|
+
# IgnoredPatterns: (?-mix:(exactly|at_least|at_most)\(\d+\)\.times)
|
16
18
|
Lint/UnreachableLoop:
|
17
19
|
Exclude:
|
18
20
|
- 'spec/reek/ast/node_spec.rb'
|
19
21
|
|
20
22
|
# Offense count: 2
|
21
|
-
# Configuration parameters: IgnoredMethods.
|
23
|
+
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
|
22
24
|
Metrics/AbcSize:
|
23
25
|
Max: 21
|
24
26
|
|
25
27
|
# Offense count: 1
|
26
28
|
# Configuration parameters: CountComments, CountAsOne.
|
27
29
|
Metrics/ClassLength:
|
28
|
-
Max:
|
30
|
+
Max: 170
|
29
31
|
|
30
32
|
# Offense count: 13
|
31
|
-
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
|
33
|
+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
|
32
34
|
Metrics/MethodLength:
|
33
35
|
Max: 16
|
34
36
|
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
-
## 6.0.
|
3
|
+
## 6.0.3 (2021-01-11)
|
4
|
+
|
5
|
+
* (mvz) Require parser 3.0
|
6
|
+
* (mvz) In a refinement, assign smells to the refined module or class
|
7
|
+
|
8
|
+
## 6.0.3 (2020-10-17)
|
4
9
|
|
5
10
|
* (mvz) Loosen dependency on psych. This should resolve installation problems on
|
6
11
|
mingw32
|
data/Gemfile
CHANGED
@@ -13,10 +13,10 @@ group :development do
|
|
13
13
|
gem 'rake', '~> 13.0'
|
14
14
|
gem 'rspec', '~> 3.0'
|
15
15
|
gem 'rspec-benchmark', '~> 0.6.0'
|
16
|
-
gem 'rubocop', '~>
|
17
|
-
gem 'rubocop-performance', '~> 1.
|
18
|
-
gem 'rubocop-rspec', '~> 1.
|
19
|
-
gem 'simplecov', ['>= 0.18.0', '< 0.
|
16
|
+
gem 'rubocop', '~> 1.7.0'
|
17
|
+
gem 'rubocop-performance', '~> 1.9.1'
|
18
|
+
gem 'rubocop-rspec', '~> 2.1.0'
|
19
|
+
gem 'simplecov', ['>= 0.18.0', '< 0.21.0']
|
20
20
|
gem 'yard', '~> 0.9.5'
|
21
21
|
|
22
22
|
platforms :mri do
|
data/docs/Boolean-Parameter.md
CHANGED
@@ -42,7 +42,7 @@ This is highly dependent on your exact architecture, but looking at the example
|
|
42
42
|
|
43
43
|
* Move everything in the `if` branch into a separate method
|
44
44
|
* Move everything in the `else` branch into a separate method
|
45
|
-
* Get rid of the `hit_the_switch` method
|
45
|
+
* Get rid of the `hit_the_switch` method altogether
|
46
46
|
* Make the decision what method to call in the initial caller of `hit_the_switch`
|
47
47
|
|
48
48
|
## Current support in Reek
|
@@ -43,7 +43,7 @@ Feature: Reek can be controlled using command-line options
|
|
43
43
|
-c, --config FILE Read configuration options from FILE
|
44
44
|
--smell SMELL Only look for a specific smell.
|
45
45
|
Call it like this: reek --smell MissingSafeMethod source.rb
|
46
|
-
Check out https://github.com/troessner/reek/blob/v6.0.
|
46
|
+
Check out https://github.com/troessner/reek/blob/v6.0.3/docs/Code-Smells.md for a list of smells
|
47
47
|
--stdin-filename FILE When passing code in via pipe, assume this filename when checking file or directory rules in the config.
|
48
48
|
|
49
49
|
Generate a todo list:
|
@@ -119,5 +119,5 @@ Feature: Reek can be controlled using command-line options
|
|
119
119
|
UnusedPrivateMethod
|
120
120
|
UtilityFunction
|
121
121
|
|
122
|
-
Check out https://github.com/troessner/reek/blob/v6.0.
|
122
|
+
Check out https://github.com/troessner/reek/blob/v6.0.3/docs/Code-Smells.md for a details on each detector
|
123
123
|
"""
|
@@ -24,7 +24,7 @@ Feature: Report smells using simple JSON layout
|
|
24
24
|
"context": "Smelly#x",
|
25
25
|
"lines": [ 4 ],
|
26
26
|
"message": "has the name 'x'",
|
27
|
-
"documentation_link": "https://github.com/troessner/reek/blob/v6.0.
|
27
|
+
"documentation_link": "https://github.com/troessner/reek/blob/v6.0.3/docs/Uncommunicative-Method-Name.md",
|
28
28
|
"name": "x"
|
29
29
|
},
|
30
30
|
{
|
@@ -33,7 +33,7 @@ Feature: Report smells using simple JSON layout
|
|
33
33
|
"context": "Smelly#x",
|
34
34
|
"lines": [ 5 ],
|
35
35
|
"message": "has the variable name 'y'",
|
36
|
-
"documentation_link": "https://github.com/troessner/reek/blob/v6.0.
|
36
|
+
"documentation_link": "https://github.com/troessner/reek/blob/v6.0.3/docs/Uncommunicative-Variable-Name.md",
|
37
37
|
"name": "y"
|
38
38
|
}
|
39
39
|
]
|
@@ -53,7 +53,7 @@ Feature: Report smells using simple JSON layout
|
|
53
53
|
1
|
54
54
|
],
|
55
55
|
"message": "has no descriptive comment",
|
56
|
-
"documentation_link": "https://github.com/troessner/reek/blob/v6.0.
|
56
|
+
"documentation_link": "https://github.com/troessner/reek/blob/v6.0.3/docs/Irresponsible-Module.md"
|
57
57
|
}
|
58
58
|
]
|
59
59
|
"""
|
@@ -182,8 +182,8 @@ Feature: Correctly formatted reports
|
|
182
182
|
And it reports:
|
183
183
|
"""
|
184
184
|
smelly.rb -- 2 warnings:
|
185
|
-
[4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/v6.0.
|
186
|
-
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/v6.0.
|
185
|
+
[4]:UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/v6.0.3/docs/Uncommunicative-Method-Name.md]
|
186
|
+
[5]:UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/v6.0.3/docs/Uncommunicative-Variable-Name.md]
|
187
187
|
"""
|
188
188
|
|
189
189
|
Examples:
|
@@ -209,8 +209,8 @@ Feature: Correctly formatted reports
|
|
209
209
|
And it reports:
|
210
210
|
"""
|
211
211
|
smelly.rb -- 2 warnings:
|
212
|
-
UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/v6.0.
|
213
|
-
UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/v6.0.
|
212
|
+
UncommunicativeMethodName: Smelly#x has the name 'x' [https://github.com/troessner/reek/blob/v6.0.3/docs/Uncommunicative-Method-Name.md]
|
213
|
+
UncommunicativeVariableName: Smelly#x has the variable name 'y' [https://github.com/troessner/reek/blob/v6.0.3/docs/Uncommunicative-Variable-Name.md]
|
214
214
|
"""
|
215
215
|
|
216
216
|
Examples:
|
@@ -25,7 +25,7 @@ Feature: Report smells using simple YAML layout
|
|
25
25
|
smell_type: UncommunicativeMethodName
|
26
26
|
source: smelly.rb
|
27
27
|
name: x
|
28
|
-
documentation_link: https://github.com/troessner/reek/blob/v6.0.
|
28
|
+
documentation_link: https://github.com/troessner/reek/blob/v6.0.3/docs/Uncommunicative-Method-Name.md
|
29
29
|
- context: Smelly#x
|
30
30
|
lines:
|
31
31
|
- 5
|
@@ -33,7 +33,7 @@ Feature: Report smells using simple YAML layout
|
|
33
33
|
smell_type: UncommunicativeVariableName
|
34
34
|
source: smelly.rb
|
35
35
|
name: y
|
36
|
-
documentation_link: https://github.com/troessner/reek/blob/v6.0.
|
36
|
+
documentation_link: https://github.com/troessner/reek/blob/v6.0.3/docs/Uncommunicative-Variable-Name.md
|
37
37
|
"""
|
38
38
|
|
39
39
|
Scenario: Indicate smells and print them as yaml when using STDIN
|
@@ -48,5 +48,5 @@ Feature: Report smells using simple YAML layout
|
|
48
48
|
lines:
|
49
49
|
- 1
|
50
50
|
message: has no descriptive comment
|
51
|
-
documentation_link: https://github.com/troessner/reek/blob/v6.0.
|
51
|
+
documentation_link: https://github.com/troessner/reek/blob/v6.0.3/docs/Irresponsible-Module.md
|
52
52
|
"""
|
data/lib/reek/ast/node.rb
CHANGED
@@ -60,7 +60,7 @@ module Reek
|
|
60
60
|
#
|
61
61
|
# Returns an array with all matching nodes.
|
62
62
|
def each_node(target_types, ignoring = [], &blk)
|
63
|
-
return enum_for(:each_node, target_types, ignoring) unless
|
63
|
+
return enum_for(:each_node, target_types, ignoring) unless blk
|
64
64
|
|
65
65
|
look_for(Array(target_types), ignoring, &blk)
|
66
66
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'module_context'
|
4
|
+
|
5
|
+
module Reek
|
6
|
+
module Context
|
7
|
+
#
|
8
|
+
# A context wrapper for any refinement blocks found in a syntax tree.
|
9
|
+
#
|
10
|
+
class RefinementContext < ModuleContext
|
11
|
+
def full_name
|
12
|
+
exp.call.args.first.name
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/reek/context_builder.rb
CHANGED
@@ -5,6 +5,7 @@ require_relative 'context/class_context'
|
|
5
5
|
require_relative 'context/ghost_context'
|
6
6
|
require_relative 'context/method_context'
|
7
7
|
require_relative 'context/module_context'
|
8
|
+
require_relative 'context/refinement_context'
|
8
9
|
require_relative 'context/root_context'
|
9
10
|
require_relative 'context/send_context'
|
10
11
|
require_relative 'context/singleton_attribute_context'
|
@@ -20,7 +21,7 @@ module Reek
|
|
20
21
|
# counting. Ideally `ContextBuilder` would only build up the context tree and leave the
|
21
22
|
# statement and reference counting to the contexts.
|
22
23
|
#
|
23
|
-
# @quality :reek:TooManyMethods { max_methods:
|
24
|
+
# @quality :reek:TooManyMethods { max_methods: 32 }
|
24
25
|
# @quality :reek:UnusedPrivateMethod { exclude: [ !ruby/regexp /process_/ ] }
|
25
26
|
# @quality :reek:DataClump
|
26
27
|
class ContextBuilder
|
@@ -263,9 +264,16 @@ module Reek
|
|
263
264
|
#
|
264
265
|
# Counts non-empty blocks as one statement.
|
265
266
|
#
|
267
|
+
# A refinement block is handled differently and causes a RefinementContext
|
268
|
+
# to be opened.
|
269
|
+
#
|
266
270
|
def process_block(exp, _parent)
|
267
271
|
increase_statement_count_by(exp.block)
|
268
|
-
|
272
|
+
if exp.call.name == :refine
|
273
|
+
handle_refinement_block(exp)
|
274
|
+
else
|
275
|
+
process(exp)
|
276
|
+
end
|
269
277
|
end
|
270
278
|
|
271
279
|
# Handles `begin` and `kwbegin` nodes. `begin` nodes are created implicitly
|
@@ -508,6 +516,12 @@ module Reek
|
|
508
516
|
end
|
509
517
|
end
|
510
518
|
|
519
|
+
def handle_refinement_block(exp)
|
520
|
+
inside_new_context(Context::RefinementContext, exp) do
|
521
|
+
process(exp)
|
522
|
+
end
|
523
|
+
end
|
524
|
+
|
511
525
|
def handle_send_for_modules(exp)
|
512
526
|
arg_names = exp.args.map { |arg| arg.children.first }
|
513
527
|
current_context.track_visibility(exp.name, arg_names)
|
data/lib/reek/version.rb
CHANGED
data/reek.gemspec
CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
|
|
28
28
|
}
|
29
29
|
|
30
30
|
s.add_runtime_dependency 'kwalify', '~> 0.7.0'
|
31
|
-
s.add_runtime_dependency 'parser', '
|
31
|
+
s.add_runtime_dependency 'parser', '~> 3.0.0'
|
32
32
|
s.add_runtime_dependency 'psych', '~> 3.1'
|
33
33
|
s.add_runtime_dependency 'rainbow', '>= 2.0', '< 4.0'
|
34
34
|
end
|
@@ -5,12 +5,21 @@ require_lib 'reek/configuration/excluded_paths'
|
|
5
5
|
RSpec.describe Reek::Configuration::ExcludedPaths do
|
6
6
|
describe '#add' do
|
7
7
|
let(:exclusions) { [].extend(described_class) }
|
8
|
-
let(:paths)
|
9
|
-
|
8
|
+
let(:paths) do
|
9
|
+
%w(samples/directory_does_not_exist/
|
10
|
+
samples/source_with_non_ruby_files/
|
11
|
+
samples/**/ignore_me*)
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:expected_exclude_paths) do
|
15
|
+
[Pathname('samples/source_with_non_ruby_files/'),
|
16
|
+
Pathname('samples/source_with_exclude_paths/ignore_me'),
|
17
|
+
Pathname('samples/source_with_exclude_paths/nested/ignore_me_as_well')]
|
18
|
+
end
|
10
19
|
|
11
20
|
it 'adds the given paths as Pathname' do
|
12
21
|
exclusions.add(paths)
|
13
|
-
expect(exclusions).to
|
22
|
+
expect(exclusions).to match_array expected_exclude_paths
|
14
23
|
end
|
15
24
|
end
|
16
25
|
end
|
@@ -161,6 +161,22 @@ RSpec.describe Reek::SmellDetectors::UtilityFunction do
|
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
164
|
+
context 'when examining refinements' do
|
165
|
+
it 'reports on the refined class' do
|
166
|
+
src = <<-RUBY
|
167
|
+
module Alfa
|
168
|
+
refine Bravo do
|
169
|
+
def bravo(charlie)
|
170
|
+
charlie.delta.echo
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
RUBY
|
175
|
+
|
176
|
+
expect(src).to reek_of(:UtilityFunction, context: 'Bravo#bravo')
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
164
180
|
describe 'method visibility' do
|
165
181
|
it 'reports private methods' do
|
166
182
|
src = <<-RUBY
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reek
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Rutherford
|
8
8
|
- Timo Roessner
|
9
9
|
- Matijs van Zuijlen
|
10
10
|
- Piotr Szotkowski
|
11
|
-
autorequire:
|
11
|
+
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2021-01-11 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: kwalify
|
@@ -31,28 +31,16 @@ dependencies:
|
|
31
31
|
name: parser
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- - "
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: '2.8'
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 2.5.0.0
|
40
|
-
- - "!="
|
34
|
+
- - "~>"
|
41
35
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
36
|
+
version: 3.0.0
|
43
37
|
type: :runtime
|
44
38
|
prerelease: false
|
45
39
|
version_requirements: !ruby/object:Gem::Requirement
|
46
40
|
requirements:
|
47
|
-
- - "
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '2.8'
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 2.5.0.0
|
53
|
-
- - "!="
|
41
|
+
- - "~>"
|
54
42
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
43
|
+
version: 3.0.0
|
56
44
|
- !ruby/object:Gem::Dependency
|
57
45
|
name: psych
|
58
46
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,12 +88,13 @@ extra_rdoc_files:
|
|
100
88
|
- License.txt
|
101
89
|
files:
|
102
90
|
- ".dockerignore"
|
91
|
+
- ".github/dependabot.yml"
|
92
|
+
- ".github/workflows/ruby.yml"
|
103
93
|
- ".gitignore"
|
104
94
|
- ".reek.yml"
|
105
95
|
- ".rubocop.yml"
|
106
96
|
- ".rubocop_todo.yml"
|
107
97
|
- ".simplecov"
|
108
|
-
- ".travis.yml"
|
109
98
|
- ".yardopts"
|
110
99
|
- CHANGELOG.md
|
111
100
|
- CONTRIBUTING.md
|
@@ -251,6 +240,7 @@ files:
|
|
251
240
|
- lib/reek/context/ghost_context.rb
|
252
241
|
- lib/reek/context/method_context.rb
|
253
242
|
- lib/reek/context/module_context.rb
|
243
|
+
- lib/reek/context/refinement_context.rb
|
254
244
|
- lib/reek/context/root_context.rb
|
255
245
|
- lib/reek/context/send_context.rb
|
256
246
|
- lib/reek/context/singleton_attribute_context.rb
|
@@ -471,7 +461,7 @@ metadata:
|
|
471
461
|
bug_tracker_uri: https://github.com/troessner/reek/issues
|
472
462
|
changelog_uri: https://github.com/troessner/reek/CHANGELOG.md
|
473
463
|
documentation_uri: https://www.rubydoc.info/gems/reek
|
474
|
-
post_install_message:
|
464
|
+
post_install_message:
|
475
465
|
rdoc_options:
|
476
466
|
- "--main"
|
477
467
|
- README.md
|
@@ -490,8 +480,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
490
480
|
- !ruby/object:Gem::Version
|
491
481
|
version: '0'
|
492
482
|
requirements: []
|
493
|
-
|
494
|
-
|
483
|
+
rubyforge_project:
|
484
|
+
rubygems_version: 2.7.7
|
485
|
+
signing_key:
|
495
486
|
specification_version: 4
|
496
487
|
summary: Code smell detector for Ruby
|
497
488
|
test_files: []
|
data/.travis.yml
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
dist: xenial
|
4
|
-
|
5
|
-
cache:
|
6
|
-
bundler: true
|
7
|
-
|
8
|
-
bundler_args: --without debugging
|
9
|
-
|
10
|
-
script: bundle exec rake ci
|
11
|
-
|
12
|
-
rvm:
|
13
|
-
- 2.4
|
14
|
-
- 2.5
|
15
|
-
- 2.6
|
16
|
-
- 2.7
|
17
|
-
- jruby-9.2
|
18
|
-
- jruby-head
|
19
|
-
- ruby-head
|
20
|
-
|
21
|
-
matrix:
|
22
|
-
allow_failures:
|
23
|
-
- rvm: jruby-head
|
24
|
-
- rvm: ruby-head
|
25
|
-
fast_finish: true
|
26
|
-
|
27
|
-
notifications:
|
28
|
-
email:
|
29
|
-
- timo.roessner@googlemail.com
|
30
|
-
- matijs@matijs.net
|
31
|
-
- chastell@chastell.net
|
32
|
-
irc: irc.freenode.org#reek
|
33
|
-
|
34
|
-
branches:
|
35
|
-
only:
|
36
|
-
- master
|
37
|
-
|
38
|
-
env:
|
39
|
-
global:
|
40
|
-
- JRUBY_OPTS="--dev"
|