rubocop-rake 0.5.1 → 0.6.0
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/.circleci/config.yml +6 -12
- data/.gitignore +1 -0
- data/.rubocop.yml +10 -1
- data/CHANGELOG.md +18 -7
- data/README.md +3 -3
- data/lib/rubocop/cop/rake/class_definition_in_task.rb +2 -6
- data/lib/rubocop/cop/rake/desc.rb +10 -2
- data/lib/rubocop/cop/rake/duplicate_namespace.rb +2 -2
- data/lib/rubocop/cop/rake/duplicate_task.rb +2 -2
- data/lib/rubocop/cop/rake/method_definition_in_task.rb +1 -1
- data/lib/rubocop/rake/inject.rb +2 -2
- data/lib/rubocop/rake/version.rb +1 -1
- data/rubocop-rake.gemspec +4 -4
- metadata +15 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a878d5ccc2eec701b39d7d2ee54cbee2eeafc822d0fdd9ebb1bd24174f62eb6e
|
4
|
+
data.tar.gz: 137d23f7a93f25c027872cff22cca183e87b3c57a34b63a970a6687101a2ea69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67ef6e06e7704cac677af3256d2a14c15729b521a2873d971bf0339eed83bdb04019ea7302cc35b8a461469c52c77382da35d2fca1e7d022cd471a10a832bfa4
|
7
|
+
data.tar.gz: 111a3788568c30c1588e4aa4108cce2c5d8a4eae21d9f11d897f19fa44495486933edbd8ca0945d63b8daefcc1551e74e69197a02c7006c1f1bf0f57da79f9fa
|
data/.circleci/config.yml
CHANGED
@@ -8,16 +8,6 @@ steps: &steps
|
|
8
8
|
|
9
9
|
jobs:
|
10
10
|
|
11
|
-
ruby-2.3:
|
12
|
-
docker:
|
13
|
-
- image: circleci/ruby:2.3
|
14
|
-
<<: *steps
|
15
|
-
|
16
|
-
ruby-2.4:
|
17
|
-
docker:
|
18
|
-
- image: circleci/ruby:2.4
|
19
|
-
<<: *steps
|
20
|
-
|
21
11
|
ruby-2.5:
|
22
12
|
docker:
|
23
13
|
- image: circleci/ruby:2.5
|
@@ -33,6 +23,11 @@ jobs:
|
|
33
23
|
- image: circleci/ruby:2.7
|
34
24
|
<<: *steps
|
35
25
|
|
26
|
+
ruby-3.0:
|
27
|
+
docker:
|
28
|
+
- image: circleci/ruby:3.0
|
29
|
+
<<: *steps
|
30
|
+
|
36
31
|
ruby-head:
|
37
32
|
docker:
|
38
33
|
- image: rubocophq/circleci-ruby-snapshot:latest
|
@@ -42,9 +37,8 @@ workflows:
|
|
42
37
|
version: 2
|
43
38
|
build:
|
44
39
|
jobs:
|
45
|
-
- ruby-2.3
|
46
|
-
- ruby-2.4
|
47
40
|
- ruby-2.5
|
48
41
|
- ruby-2.6
|
49
42
|
- ruby-2.7
|
43
|
+
- ruby-3.0
|
50
44
|
- ruby-head
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
inherit_from: .rubocop_todo.yml
|
2
2
|
|
3
3
|
require:
|
4
|
+
- rubocop/cop/internal_affairs
|
4
5
|
- rubocop-rake
|
5
6
|
- rubocop-rspec
|
6
7
|
|
7
8
|
AllCops:
|
8
|
-
TargetRubyVersion: 2.
|
9
|
+
TargetRubyVersion: 2.5
|
10
|
+
|
11
|
+
InternalAffairs/NodeMatcherDirective:
|
12
|
+
Enabled: false
|
9
13
|
|
10
14
|
Layout/LineLength:
|
11
15
|
Enabled: false
|
@@ -45,3 +49,8 @@ RSpec/ExampleLength:
|
|
45
49
|
Naming/FileName:
|
46
50
|
Exclude:
|
47
51
|
- 'lib/rubocop-rake.rb'
|
52
|
+
|
53
|
+
# This disabling is a workaround for https://github.com/rubocop-hq/rubocop-rspec/issues/1068.
|
54
|
+
# The cop has been disabled because FactoryBot is not used in this repository.
|
55
|
+
RSpec/FactoryBot/CreateList:
|
56
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -2,45 +2,54 @@
|
|
2
2
|
|
3
3
|
## master (unreleased)
|
4
4
|
|
5
|
+
## 0.6.0 (2021-06-29)
|
6
|
+
|
7
|
+
### Changes
|
8
|
+
|
9
|
+
* [#33](https://github.com/rubocop/rubocop-rake/pull/33): Drop support for Ruby 2.3. ([@koic][])
|
10
|
+
* [#34](https://github.com/rubocop/rubocop-rake/pull/34): Require RuboCop 1.0 or higher. ([@koic][])
|
11
|
+
* [#38](https://github.com/rubocop/rubocop-rake/pull/37): Drop support for Ruby 2.4. ([@tejasbubane])
|
12
|
+
* [#36](https://github.com/rubocop/rubocop-rake/issues/36): Fix `Rake/Desc` to not generate offense for prerequisite declarations. ([@tejasbubane][])
|
13
|
+
|
5
14
|
## 0.5.1 (2020-02-14)
|
6
15
|
|
7
16
|
### Bug fixes
|
8
17
|
|
9
|
-
* [#28](https://github.com/rubocop
|
18
|
+
* [#28](https://github.com/rubocop/rubocop-rake/issues/28): Fix `Rake/Desc` to avoid an error when `task` is not a task definition. ([@pocke][])
|
10
19
|
|
11
20
|
## 0.5.0 (2019-10-31)
|
12
21
|
|
13
22
|
### New features
|
14
23
|
|
15
|
-
* [#14](https://github.com/rubocop
|
24
|
+
* [#14](https://github.com/rubocop/rubocop-rake/issues/14): Add Rake/DuplicateNamespace cop. ([@jaruuuu][])
|
16
25
|
|
17
26
|
## 0.4.0 (2019-10-13)
|
18
27
|
|
19
28
|
### New features
|
20
29
|
|
21
|
-
* [#13](https://github.com/rubocop
|
30
|
+
* [#13](https://github.com/rubocop/rubocop-rake/issues/13): Add Rake/DuplicateTask cop. ([@pocke][])
|
22
31
|
|
23
32
|
## 0.3.1 (2019-10-06)
|
24
33
|
|
25
34
|
### Bug fixes
|
26
35
|
|
27
|
-
* [#17](https://github.com/rubocop
|
36
|
+
* [#17](https://github.com/rubocop/rubocop-rake/pull/17): Filter target files for Rake/ClassDefinitionInTask cop. ([@pocke][])
|
28
37
|
|
29
38
|
## 0.3.0 (2019-09-25)
|
30
39
|
|
31
40
|
### New features
|
32
41
|
|
33
|
-
* [#6](https://github.com/rubocop
|
42
|
+
* [#6](https://github.com/rubocop/rubocop-rake/issues/6): Add `Rake/ClassDefinitionInTask` cop. ([@pocke][])
|
34
43
|
|
35
44
|
### Bug fixes
|
36
45
|
|
37
|
-
* [#8](https://github.com/rubocop
|
46
|
+
* [#8](https://github.com/rubocop/rubocop-rake/issues/8): Make Rake/Desc to not require description for the default task. ([@pocke][])
|
38
47
|
|
39
48
|
## 0.2.0 (2019-09-17)
|
40
49
|
|
41
50
|
### New features
|
42
51
|
|
43
|
-
* [#5](https://github.com/rubocop
|
52
|
+
* [#5](https://github.com/rubocop/rubocop-rake/pull/5): Add `Rake/MethodDefinitionInTask`. ([@pocke][])
|
44
53
|
|
45
54
|
## 0.1.0 (2019-09-04)
|
46
55
|
|
@@ -51,3 +60,5 @@
|
|
51
60
|
|
52
61
|
[@pocke]: https://github.com/pocke
|
53
62
|
[@jaruuuu]: https://github.com/jaruuuu
|
63
|
+
[@koic]: https://github.com/koic
|
64
|
+
[@tejasbubane]: https://github.com/tejasbubane
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
[](https://rubygems.org/gems/rubocop-rake)
|
2
|
-
[](https://circleci.com/gh/rubocop/rubocop-rake)
|
3
3
|
|
4
4
|
# RuboCop Rake
|
5
5
|
|
6
|
-
A [RuboCop](https://github.com/rubocop
|
6
|
+
A [RuboCop](https://github.com/rubocop/rubocop) plugin for Rake.
|
7
7
|
|
8
8
|
## Installation
|
9
9
|
|
@@ -37,5 +37,5 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
37
37
|
|
38
38
|
## Contributing
|
39
39
|
|
40
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/rubocop
|
40
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/rubocop/rubocop-rake.
|
41
41
|
|
@@ -28,18 +28,14 @@ module RuboCop
|
|
28
28
|
# task :foo do
|
29
29
|
# end
|
30
30
|
#
|
31
|
-
class ClassDefinitionInTask <
|
31
|
+
class ClassDefinitionInTask < Base
|
32
32
|
MSG = 'Do not define a %<type>s in rake task, because it will be defined to the top level.'
|
33
33
|
|
34
34
|
def on_class(node)
|
35
35
|
return if Helper::ClassDefinition.in_class_definition?(node)
|
36
36
|
return unless Helper::TaskDefinition.in_task_or_namespace?(node)
|
37
37
|
|
38
|
-
add_offense(node)
|
39
|
-
end
|
40
|
-
|
41
|
-
def message(node)
|
42
|
-
format(MSG, type: node.type)
|
38
|
+
add_offense(node, message: format(MSG, type: node.type))
|
43
39
|
end
|
44
40
|
|
45
41
|
alias on_module on_class
|
@@ -27,15 +27,23 @@ module RuboCop
|
|
27
27
|
# task :do_something do
|
28
28
|
# end
|
29
29
|
#
|
30
|
-
class Desc <
|
30
|
+
class Desc < Base
|
31
31
|
include Helper::OnTask
|
32
|
+
extend AutoCorrector
|
32
33
|
|
33
34
|
MSG = 'Describe the task with `desc` method.'
|
34
35
|
|
36
|
+
def_node_matcher :prerequisites, <<~PATTERN
|
37
|
+
(send nil? :task (hash (pair _ $_)))
|
38
|
+
PATTERN
|
39
|
+
|
35
40
|
def on_task(node)
|
36
41
|
return if task_with_desc?(node)
|
37
42
|
return if Helper::TaskName.task_name(node) == :default
|
38
43
|
|
44
|
+
requirements = prerequisites(node)
|
45
|
+
return if requirements&.array_type?
|
46
|
+
|
39
47
|
add_offense(node)
|
40
48
|
end
|
41
49
|
|
@@ -48,7 +56,7 @@ module RuboCop
|
|
48
56
|
desc_candidate = parent.children[idx]
|
49
57
|
return false unless desc_candidate
|
50
58
|
|
51
|
-
desc_candidate.send_type? && desc_candidate.
|
59
|
+
desc_candidate.send_type? && desc_candidate.method?(:desc)
|
52
60
|
end
|
53
61
|
|
54
62
|
private def parent_and_task(task_node)
|
@@ -27,7 +27,7 @@ module RuboCop
|
|
27
27
|
# end
|
28
28
|
# end
|
29
29
|
#
|
30
|
-
class DuplicateNamespace <
|
30
|
+
class DuplicateNamespace < Base
|
31
31
|
include Helper::OnNamespace
|
32
32
|
|
33
33
|
MSG = 'Namespace `%<namespace>s` is defined at both %<previous>s and %<current>s.'
|
@@ -55,7 +55,7 @@ module RuboCop
|
|
55
55
|
|
56
56
|
node.each_ancestor(:block) do |block_node|
|
57
57
|
send_node = block_node.send_node
|
58
|
-
next unless send_node.
|
58
|
+
next unless send_node.method?(:namespace)
|
59
59
|
|
60
60
|
name = Helper::TaskName.task_name(send_node)
|
61
61
|
ns << name
|
@@ -23,7 +23,7 @@ module RuboCop
|
|
23
23
|
# p 'foo 2'
|
24
24
|
# end
|
25
25
|
#
|
26
|
-
class DuplicateTask <
|
26
|
+
class DuplicateTask < Base
|
27
27
|
include Helper::OnTask
|
28
28
|
|
29
29
|
MSG = 'Task `%<task>s` is defined at both %<previous>s and %<current>s.'
|
@@ -54,7 +54,7 @@ module RuboCop
|
|
54
54
|
|
55
55
|
node.each_ancestor(:block) do |block_node|
|
56
56
|
send_node = block_node.send_node
|
57
|
-
next unless send_node.
|
57
|
+
next unless send_node.method?(:namespace)
|
58
58
|
|
59
59
|
name = Helper::TaskName.task_name(send_node)
|
60
60
|
ns << name
|
data/lib/rubocop/rake/inject.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# The original code is from https://github.com/rubocop
|
4
|
-
# See https://github.com/rubocop
|
3
|
+
# The original code is from https://github.com/rubocop/rubocop-rspec/blob/master/lib/rubocop/rspec/inject.rb
|
4
|
+
# See https://github.com/rubocop/rubocop-rspec/blob/master/MIT-LICENSE.md
|
5
5
|
module RuboCop
|
6
6
|
module Rake
|
7
7
|
# Because RuboCop doesn't yet support plugins, we have to monkey patch in a
|
data/lib/rubocop/rake/version.rb
CHANGED
data/rubocop-rake.gemspec
CHANGED
@@ -10,15 +10,15 @@ Gem::Specification.new do |spec|
|
|
10
10
|
|
11
11
|
spec.summary = %q{A RuboCop plugin for Rake}
|
12
12
|
spec.description = %q{A RuboCop plugin for Rake}
|
13
|
-
spec.homepage = "https://github.com/rubocop
|
14
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.
|
13
|
+
spec.homepage = "https://github.com/rubocop/rubocop-rake"
|
14
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
|
15
15
|
spec.licenses = ['MIT']
|
16
16
|
|
17
17
|
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
18
18
|
|
19
19
|
spec.metadata["homepage_uri"] = spec.homepage
|
20
20
|
spec.metadata["source_code_uri"] = spec.homepage
|
21
|
-
spec.metadata["changelog_uri"] = "https://github.com/rubocop
|
21
|
+
spec.metadata["changelog_uri"] = "https://github.com/rubocop/rubocop-rake/blob/master/CHANGELOG.md"
|
22
22
|
|
23
23
|
# Specify which files should be added to the gem when it is released.
|
24
24
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -29,5 +29,5 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
30
30
|
spec.require_paths = ["lib"]
|
31
31
|
|
32
|
-
spec.add_runtime_dependency 'rubocop'
|
32
|
+
spec.add_runtime_dependency 'rubocop', '~> 1.0'
|
33
33
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-rake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masataka Pocke Kuwabara
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '1.0'
|
27
27
|
description: A RuboCop plugin for Rake
|
28
28
|
email:
|
29
29
|
- kuwabara@pocke.me
|
@@ -60,15 +60,15 @@ files:
|
|
60
60
|
- lib/rubocop/rake/inject.rb
|
61
61
|
- lib/rubocop/rake/version.rb
|
62
62
|
- rubocop-rake.gemspec
|
63
|
-
homepage: https://github.com/rubocop
|
63
|
+
homepage: https://github.com/rubocop/rubocop-rake
|
64
64
|
licenses:
|
65
65
|
- MIT
|
66
66
|
metadata:
|
67
67
|
allowed_push_host: https://rubygems.org
|
68
|
-
homepage_uri: https://github.com/rubocop
|
69
|
-
source_code_uri: https://github.com/rubocop
|
70
|
-
changelog_uri: https://github.com/rubocop
|
71
|
-
post_install_message:
|
68
|
+
homepage_uri: https://github.com/rubocop/rubocop-rake
|
69
|
+
source_code_uri: https://github.com/rubocop/rubocop-rake
|
70
|
+
changelog_uri: https://github.com/rubocop/rubocop-rake/blob/master/CHANGELOG.md
|
71
|
+
post_install_message:
|
72
72
|
rdoc_options: []
|
73
73
|
require_paths:
|
74
74
|
- lib
|
@@ -76,15 +76,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
76
|
requirements:
|
77
77
|
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: 2.
|
79
|
+
version: 2.5.0
|
80
80
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: '0'
|
85
85
|
requirements: []
|
86
|
-
rubygems_version: 3.2.
|
87
|
-
signing_key:
|
86
|
+
rubygems_version: 3.2.13
|
87
|
+
signing_key:
|
88
88
|
specification_version: 4
|
89
89
|
summary: A RuboCop plugin for Rake
|
90
90
|
test_files: []
|