rubocop-sorbet 0.4.0 → 0.4.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b73993245df905cf40d9e0dbc440d613315e5b32d89e9b61ee123994fee53e73
|
4
|
+
data.tar.gz: '019d4212c2c204492aa38f928ddfc31cceac5d79fe6ee09927c889e3b245f999'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d491ed5a48d75c2f5151329fc0018ca56ed57504d6d1e338befe0c9395bf85824b65f68164538667b4720eca216eeb15c29c6ed379524ae9ed1a8215cf6daf84
|
7
|
+
data.tar.gz: 7944aa4817f48ca0bb43c47dabcf197ced656674ab59ce261705b946045a2e3c0de813200187829cf9936a2144a5203ed625c8cdd89a33b7e80876229f7f2748
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rubocop-sorbet (0.4.
|
4
|
+
rubocop-sorbet (0.4.1)
|
5
5
|
rubocop
|
6
6
|
|
7
7
|
GEM
|
@@ -25,7 +25,7 @@ GEM
|
|
25
25
|
ast (~> 2.4.0)
|
26
26
|
procto (0.0.3)
|
27
27
|
rainbow (3.0.0)
|
28
|
-
rake (
|
28
|
+
rake (13.0.1)
|
29
29
|
regexp_parser (1.7.0)
|
30
30
|
rexml (3.2.4)
|
31
31
|
rspec (3.8.0)
|
@@ -71,7 +71,7 @@ PLATFORMS
|
|
71
71
|
ruby
|
72
72
|
|
73
73
|
DEPENDENCIES
|
74
|
-
rake (
|
74
|
+
rake (>= 12.3.3)
|
75
75
|
rspec
|
76
76
|
rubocop-shopify
|
77
77
|
rubocop-sorbet!
|
@@ -17,7 +17,7 @@ module RuboCop
|
|
17
17
|
# FooOrBar = T.type_alias { T.any(Foo, Bar) }
|
18
18
|
class BindingConstantWithoutTypeAlias < RuboCop::Cop::Cop
|
19
19
|
def_node_matcher(:binding_unaliased_type?, <<-PATTERN)
|
20
|
-
(casgn _ _ [#not_nil? #not_t_let? #method_needing_aliasing_on_t?])
|
20
|
+
(casgn _ _ [#not_nil? #not_t_let? #not_generic_parameter_decl? #method_needing_aliasing_on_t?])
|
21
21
|
PATTERN
|
22
22
|
|
23
23
|
def_node_matcher(:using_type_alias?, <<-PATTERN)
|
@@ -48,6 +48,12 @@ module RuboCop
|
|
48
48
|
)
|
49
49
|
PATTERN
|
50
50
|
|
51
|
+
def_node_matcher(:generic_parameter_decl?, <<-PATTERN)
|
52
|
+
(
|
53
|
+
send nil? {:type_template :type_member} ...
|
54
|
+
)
|
55
|
+
PATTERN
|
56
|
+
|
51
57
|
def_node_search(:method_needing_aliasing_on_t?, <<-PATTERN)
|
52
58
|
(
|
53
59
|
send
|
@@ -61,6 +67,10 @@ module RuboCop
|
|
61
67
|
!t_let?(node)
|
62
68
|
end
|
63
69
|
|
70
|
+
def not_generic_parameter_decl?(node)
|
71
|
+
!generic_parameter_decl?(node)
|
72
|
+
end
|
73
|
+
|
64
74
|
def not_nil?(node)
|
65
75
|
!node.nil?
|
66
76
|
end
|
@@ -55,9 +55,9 @@ module RuboCop
|
|
55
55
|
return nil unless can_autocorrect?
|
56
56
|
|
57
57
|
lambda do |corrector|
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
tree = call_chain(node_with_index_sends(node))
|
59
|
+
.sort_by { |call| ORDER[call.method_name] }
|
60
|
+
.reduce(nil) do |receiver, caller|
|
61
61
|
caller.updated(nil, [receiver] + caller.children.drop(1))
|
62
62
|
end
|
63
63
|
|
@@ -70,6 +70,16 @@ module RuboCop
|
|
70
70
|
|
71
71
|
private
|
72
72
|
|
73
|
+
def node_with_index_sends(node)
|
74
|
+
# This is really dirty hack to reparse the current node with index send
|
75
|
+
# emitting enabled, which is necessary to unparse them back as index accessors.
|
76
|
+
emit_index_value = RuboCop::AST::Builder.emit_index
|
77
|
+
RuboCop::AST::Builder.emit_index = true
|
78
|
+
RuboCop::AST::ProcessedSource.new(node.source, target_ruby_version, processed_source.path).ast
|
79
|
+
ensure
|
80
|
+
RuboCop::AST::Builder.emit_index = emit_index_value
|
81
|
+
end
|
82
|
+
|
73
83
|
def can_autocorrect?
|
74
84
|
defined?(::Unparser)
|
75
85
|
end
|
data/service.yml
CHANGED
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.4.
|
4
|
+
version: 0.4.1
|
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: 2020-
|
14
|
+
date: 2020-08-20 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|