rubocop 1.5.0 → 1.5.1
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/lib/rubocop/cli/command/suggest_extensions.rb +23 -10
- data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +1 -1
- data/lib/rubocop/cop/lint/interpolation_check.rb +7 -2
- data/lib/rubocop/cop/naming/variable_number.rb +3 -1
- data/lib/rubocop/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6385e74786dea3c867437d18cb40ed5715ed391e14c05f9589b9029b5d8e3b82
|
4
|
+
data.tar.gz: 56ca46faf293f235cecc7e9efc3590f355889b837bf2a9d27c224eb62e5a5ac5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f7dd2432b886b8a843fb168179d51a1f2944c045261d461a35e3a40942d55de8a837051bb06635482cf29db50f6bb8f4be16bf284a9596d70ab3e1235a296ec
|
7
|
+
data.tar.gz: 3cdc1f213db45d58d9ae5f2b05a6ed93d9c5cb18bf096e7ff2c848bdf191f70b1af011401a97c70f54a0a63107a24bb60c7eea50284a3f7b9467e522c3d9b183
|
@@ -11,6 +11,15 @@ module RuboCop
|
|
11
11
|
|
12
12
|
self.command_name = :suggest_extensions
|
13
13
|
|
14
|
+
def self.dependent_gems
|
15
|
+
return [] unless defined?(Bundler)
|
16
|
+
|
17
|
+
# This only includes gems in Gemfile, not in lockfile
|
18
|
+
Bundler.load.dependencies.map(&:name)
|
19
|
+
rescue Bundler::GemfileNotFound
|
20
|
+
[]
|
21
|
+
end
|
22
|
+
|
14
23
|
def run
|
15
24
|
return if skip? || extensions.none?
|
16
25
|
|
@@ -18,14 +27,17 @@ module RuboCop
|
|
18
27
|
puts 'Tip: Based on detected gems, the following '\
|
19
28
|
'RuboCop extension libraries might be helpful:'
|
20
29
|
|
21
|
-
extensions.each do |extension|
|
30
|
+
extensions.sort.each do |extension|
|
22
31
|
puts " * #{extension} (http://github.com/rubocop-hq/#{extension})"
|
23
32
|
end
|
24
33
|
|
25
34
|
puts
|
26
|
-
puts 'You can opt out of this message by adding the following to your config
|
35
|
+
puts 'You can opt out of this message by adding the following to your config '\
|
36
|
+
'(see https://docs.rubocop.org/rubocop/extensions.html#extension-suggestions '\
|
37
|
+
'for more options):'
|
27
38
|
puts ' AllCops:'
|
28
39
|
puts ' SuggestExtensions: false'
|
40
|
+
|
29
41
|
puts if @options[:display_time]
|
30
42
|
end
|
31
43
|
|
@@ -46,21 +58,22 @@ module RuboCop
|
|
46
58
|
end
|
47
59
|
|
48
60
|
def extensions
|
49
|
-
|
50
|
-
return [] unless extensions
|
51
|
-
|
52
|
-
extensions.select { |_, v| (v & dependent_gems).any? }.keys - dependent_gems
|
53
|
-
end
|
61
|
+
return [] unless dependent_gems.any?
|
54
62
|
|
55
|
-
|
56
|
-
|
57
|
-
|
63
|
+
@extensions ||= begin
|
64
|
+
extensions = @config_store.for_pwd.for_all_cops['SuggestExtensions'] || {}
|
65
|
+
extensions.select { |_, v| (Array(v) & dependent_gems).any? }.keys - dependent_gems
|
66
|
+
end
|
58
67
|
end
|
59
68
|
|
60
69
|
def puts(*args)
|
61
70
|
output = (@options[:stderr] ? $stderr : $stdout)
|
62
71
|
output.puts(*args)
|
63
72
|
end
|
73
|
+
|
74
|
+
def dependent_gems
|
75
|
+
@dependent_gems ||= self.class.dependent_gems
|
76
|
+
end
|
64
77
|
end
|
65
78
|
end
|
66
79
|
end
|
@@ -59,7 +59,7 @@ module RuboCop
|
|
59
59
|
private
|
60
60
|
|
61
61
|
def receiver_and_method_call_on_different_lines?(node)
|
62
|
-
node.receiver && node.receiver.loc.last_line != node.loc.selector
|
62
|
+
node.receiver && node.receiver.loc.last_line != node.loc.selector&.line
|
63
63
|
end
|
64
64
|
|
65
65
|
def empty_lines(node)
|
@@ -23,10 +23,11 @@ module RuboCop
|
|
23
23
|
'Use double quoted strings if you need interpolation.'
|
24
24
|
|
25
25
|
def on_str(node)
|
26
|
-
|
27
|
-
return if
|
26
|
+
return unless node
|
27
|
+
return if string_or_regex?(node.parent)
|
28
28
|
return unless /(?<!\\)#\{.*\}/.match?(node.source)
|
29
29
|
return if heredoc?(node)
|
30
|
+
return unless node.loc.begin && node.loc.end
|
30
31
|
|
31
32
|
add_offense(node) do |corrector|
|
32
33
|
autocorrect(corrector, node)
|
@@ -35,6 +36,10 @@ module RuboCop
|
|
35
36
|
|
36
37
|
private
|
37
38
|
|
39
|
+
def string_or_regex?(node)
|
40
|
+
node&.dstr_type? || node&.regexp_type?
|
41
|
+
end
|
42
|
+
|
38
43
|
def autocorrect(corrector, node)
|
39
44
|
starting_token, ending_token = if node.source.include?('"')
|
40
45
|
['%{', '}']
|
@@ -104,6 +104,8 @@ module RuboCop
|
|
104
104
|
def on_arg(node)
|
105
105
|
@node = node
|
106
106
|
name, = *node
|
107
|
+
return if allowed_identifier?(name)
|
108
|
+
|
107
109
|
check_name(node, name, node.loc.name)
|
108
110
|
end
|
109
111
|
alias on_lvasgn on_arg
|
@@ -139,7 +141,7 @@ module RuboCop
|
|
139
141
|
end
|
140
142
|
|
141
143
|
def allowed_identifier?(name)
|
142
|
-
allowed_identifiers.include?(name.to_s)
|
144
|
+
allowed_identifiers.include?(name.to_s.delete('@'))
|
143
145
|
end
|
144
146
|
|
145
147
|
def allowed_identifiers
|
data/lib/rubocop/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-12-
|
13
|
+
date: 2020-12-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: parallel
|