rubocop-sorbet 0.3.4 → 0.3.5
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/Gemfile.lock +1 -1
- data/lib/rubocop/cop/sorbet/sigils/valid_sigil.rb +24 -4
- data/rubocop-sorbet.gemspec +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: 2dea563faa3843260cff524016317221bae41fe6eaf162b8abed91963c79e1d4
|
4
|
+
data.tar.gz: b45f03fb4a552be371a86fa6d710e53b41536a68c1fea93c5df58396d5aa4fbf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46021afef2a60b990d7db28dc1b38059e9aa36ba39e3ebcdf9185e35a9c8dbf9181df0303315b515ebcb126ba6fe0a1cc27dc8adcfcd8f4f8377e4679376738d
|
7
|
+
data.tar.gz: 00721e2b73fa61a35707c68ac8bc0466ab2b7e344c8aae200c13a03e7481407d92682ca859567f4ace4f60574a0e996f175a57d6aaf4890a3c87c65d41cb32b2
|
data/Gemfile.lock
CHANGED
@@ -36,7 +36,8 @@ module RuboCop
|
|
36
36
|
return unless extract_sigil(processed_source).nil?
|
37
37
|
|
38
38
|
token = processed_source.tokens.first
|
39
|
-
|
39
|
+
replace_with = suggested_strictness_level(minimum_strictness, suggested_strictness)
|
40
|
+
corrector.insert_before(token.pos, "# typed: #{replace_with}\n")
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
@@ -64,7 +65,7 @@ module RuboCop
|
|
64
65
|
|
65
66
|
token = processed_source.tokens.first
|
66
67
|
if require_sigil_on_all_files?
|
67
|
-
strictness = minimum_strictness
|
68
|
+
strictness = suggested_strictness_level(minimum_strictness, suggested_strictness)
|
68
69
|
add_offense(
|
69
70
|
token,
|
70
71
|
location: token.pos,
|
@@ -75,6 +76,25 @@ module RuboCop
|
|
75
76
|
false
|
76
77
|
end
|
77
78
|
|
79
|
+
def suggested_strictness_level(minimum_strictness, suggested_strictness)
|
80
|
+
# if no minimum strictness is set (eg. using Sorbet/HasSigil without config) then
|
81
|
+
# we always use the suggested strictness which defaults to `false`
|
82
|
+
return suggested_strictness unless minimum_strictness
|
83
|
+
|
84
|
+
# special case: if you're using Sorbet/IgnoreSigil without config, we should recommend `ignore`
|
85
|
+
return "ignore" if minimum_strictness == "ignore" && cop_config['SuggestedStrictness'].nil?
|
86
|
+
|
87
|
+
# if a minimum strictness is set (eg. you're using Sorbet/FalseSigil)
|
88
|
+
# we want to compare the minimum strictness and suggested strictness. this is because
|
89
|
+
# the suggested strictness might be higher than the minimum (eg. if you want all new files
|
90
|
+
# at a higher strictness level, without having to migrate existing files at lower levels).
|
91
|
+
|
92
|
+
suggested_level = STRICTNESS_LEVELS.index(suggested_strictness)
|
93
|
+
minimum_level = STRICTNESS_LEVELS.index(minimum_strictness)
|
94
|
+
|
95
|
+
suggested_level > minimum_level ? suggested_strictness : minimum_strictness
|
96
|
+
end
|
97
|
+
|
78
98
|
def check_strictness_not_empty(sigil, strictness)
|
79
99
|
return true if strictness
|
80
100
|
|
@@ -122,12 +142,12 @@ module RuboCop
|
|
122
142
|
|
123
143
|
# Default is `'false'`
|
124
144
|
def suggested_strictness
|
125
|
-
cop_config['SuggestedStrictness']
|
145
|
+
STRICTNESS_LEVELS.include?(cop_config['SuggestedStrictness']) ? cop_config['SuggestedStrictness'] : 'false'
|
126
146
|
end
|
127
147
|
|
128
148
|
# Default is `nil`
|
129
149
|
def minimum_strictness
|
130
|
-
cop_config['MinimumStrictness']
|
150
|
+
cop_config['MinimumStrictness'] if STRICTNESS_LEVELS.include?(cop_config['MinimumStrictness'])
|
131
151
|
end
|
132
152
|
end
|
133
153
|
end
|
data/rubocop-sorbet.gemspec
CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'rubocop-sorbet'
|
8
|
-
spec.version = '0.3.
|
8
|
+
spec.version = '0.3.5'
|
9
9
|
spec.authors = ['Ufuk Kayserilioglu', 'Alan Wu', 'Alexandre Terrasa', 'Peter Zhu']
|
10
10
|
spec.email = ['ruby@shopify.com']
|
11
11
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-sorbet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ufuk Kayserilioglu
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: exe
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2020-01-16 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|