openfeature-sdk-sorbet 0.2.0.2 → 0.3.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/.rubocop.yml +2 -1
- data/.ruby-version +1 -1
- data/.tool-versions +1 -1
- data/CHANGELOG.md +9 -6
- data/Gemfile +1 -1
- data/Gemfile.lock +55 -49
- data/README.md +23 -6
- data/lib/open_feature/client.rb +90 -32
- data/lib/open_feature/client_metadata.rb +1 -0
- data/lib/open_feature/evaluation_context.rb +7 -5
- data/lib/open_feature/evaluation_details.rb +2 -2
- data/lib/open_feature/hook.rb +41 -1
- data/lib/open_feature/hook_context.rb +30 -0
- data/lib/open_feature/hooks.rb +22 -0
- data/lib/open_feature/multiple_source_provider.rb +28 -12
- data/lib/open_feature/no_op_provider.rb +2 -3
- data/lib/open_feature/provider.rb +16 -2
- data/lib/open_feature/provider_status.rb +13 -0
- data/lib/open_feature.rb +9 -2
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/{json@2.6.3.rbi → json@2.7.1.rbi} +80 -60
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
- data/sorbet/rbi/gems/{minitest@5.18.0.rbi → minitest@5.21.2.rbi} +299 -258
- data/sorbet/rbi/gems/{parallel@1.23.0.rbi → parallel@1.24.0.rbi} +8 -1
- data/sorbet/rbi/gems/{parser@3.2.2.1.rbi → parser@3.3.0.5.rbi} +438 -2219
- data/sorbet/rbi/gems/prism@0.19.0.rbi +25199 -0
- data/sorbet/rbi/gems/psych@5.1.2.rbi +1731 -0
- data/sorbet/rbi/gems/racc@1.7.3.rbi +157 -0
- data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.1.0.rbi} +68 -65
- data/sorbet/rbi/gems/{rbi@0.0.16.rbi → rbi@0.1.6.rbi} +628 -755
- data/sorbet/rbi/gems/{regexp_parser@2.8.0.rbi → regexp_parser@2.9.0.rbi} +203 -180
- data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.2.6.rbi} +116 -52
- data/sorbet/rbi/gems/{rubocop-ast@1.28.1.rbi → rubocop-ast@1.30.0.rbi} +178 -84
- data/sorbet/rbi/gems/{rubocop-minitest@0.31.0.rbi → rubocop-minitest@0.34.5.rbi} +280 -232
- data/sorbet/rbi/gems/{rubocop-performance@1.17.1.rbi → rubocop-performance@1.20.2.rbi} +397 -172
- data/sorbet/rbi/gems/{rubocop-sorbet@0.7.0.rbi → rubocop-sorbet@0.7.6.rbi} +728 -261
- data/sorbet/rbi/gems/{rubocop@1.51.0.rbi → rubocop@1.60.2.rbi} +4006 -1936
- data/sorbet/rbi/gems/spoom@1.2.1.rbi +17 -56
- data/sorbet/rbi/gems/stringio@3.1.0.rbi +8 -0
- data/sorbet/rbi/gems/{tapioca@0.11.6.rbi → tapioca@0.11.17.rbi} +778 -576
- data/sorbet/rbi/gems/{thor@1.2.2.rbi → thor@1.3.0.rbi} +775 -395
- data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +1 -1
- data/sorbet/rbi/gems/yard@0.9.34.rbi +2 -2
- data/sorbet/rbi/gems/{zeitwerk@2.6.8.rbi → zeitwerk@2.6.12.rbi} +78 -67
- data/sorbet/tapioca/config.yml +2 -2
- data/sorbet/tapioca/require.rb +3 -1
- metadata +36 -31
- data/openfeature-sdk-sorbet.gemspec +0 -35
- data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1083
- data/sorbet/rbi/gems/irb@1.6.4.rbi +0 -342
- data/sorbet/rbi/gems/unparser@0.6.7.rbi +0 -4524
- /data/sorbet/rbi/gems/{io-console@0.6.0.rbi → io-console@0.7.2.rbi} +0 -0
- /data/sorbet/rbi/gems/{reline@0.3.3.rbi → reline@0.4.2.rbi} +0 -0
- /data/sorbet/rbi/gems/{unicode-display_width@2.4.2.rbi → unicode-display_width@2.5.0.rbi} +0 -0
@@ -4,19 +4,19 @@
|
|
4
4
|
# This is an autogenerated file for types exported from the `rubocop-sorbet` gem.
|
5
5
|
# Please instead update this file by running `bin/tapioca gem rubocop-sorbet`.
|
6
6
|
|
7
|
-
# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#
|
7
|
+
# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#3
|
8
8
|
module RuboCop; end
|
9
9
|
|
10
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
10
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#4
|
11
11
|
module RuboCop::Cop; end
|
12
12
|
|
13
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
13
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#5
|
14
14
|
module RuboCop::Cop::Sorbet; end
|
15
15
|
|
16
|
-
#
|
16
|
+
# Disallows using `.override(allow_incompatible: true)`.
|
17
17
|
# Using `allow_incompatible` suggests a violation of the Liskov
|
18
18
|
# Substitution Principle, meaning that a subclass is not a valid
|
19
|
-
# subtype of
|
19
|
+
# subtype of its superclass. This Cop prevents these design smells
|
20
20
|
# from occurring.
|
21
21
|
#
|
22
22
|
# @example
|
@@ -28,26 +28,33 @@ module RuboCop::Cop::Sorbet; end
|
|
28
28
|
# sig.override
|
29
29
|
#
|
30
30
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#21
|
31
|
-
class RuboCop::Cop::Sorbet::AllowIncompatibleOverride < ::RuboCop::Cop::
|
32
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#
|
33
|
-
def
|
34
|
-
|
35
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#39
|
36
|
-
def allow_incompatible_override?(param0 = T.unsafe(nil)); end
|
31
|
+
class RuboCop::Cop::Sorbet::AllowIncompatibleOverride < ::RuboCop::Cop::Base
|
32
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#55
|
33
|
+
def on_block(node); end
|
37
34
|
|
38
|
-
#
|
39
|
-
|
40
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#31
|
41
|
-
def not_nil?(node); end
|
35
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#55
|
36
|
+
def on_numblock(node); end
|
42
37
|
|
43
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#
|
38
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#49
|
44
39
|
def on_send(node); end
|
45
40
|
|
46
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#
|
41
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#41
|
42
|
+
def override?(param0 = T.unsafe(nil)); end
|
43
|
+
|
44
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#36
|
47
45
|
def sig?(param0); end
|
46
|
+
|
47
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#27
|
48
|
+
def sig_dot_override?(param0 = T.unsafe(nil)); end
|
48
49
|
end
|
49
50
|
|
50
|
-
#
|
51
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#22
|
52
|
+
RuboCop::Cop::Sorbet::AllowIncompatibleOverride::MSG = T.let(T.unsafe(nil), String)
|
53
|
+
|
54
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#24
|
55
|
+
RuboCop::Cop::Sorbet::AllowIncompatibleOverride::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
56
|
+
|
57
|
+
# Disallows binding the return value of `T.any`, `T.all`, `T.enum`
|
51
58
|
# to a constant directly. To bind the value, one must use `T.type_alias`.
|
52
59
|
#
|
53
60
|
# @example
|
@@ -58,60 +65,101 @@ end
|
|
58
65
|
# # good
|
59
66
|
# FooOrBar = T.type_alias { T.any(Foo, Bar) }
|
60
67
|
#
|
61
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
62
|
-
class RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias < ::RuboCop::Cop::
|
63
|
-
|
64
|
-
def autocorrect(node); end
|
68
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#18
|
69
|
+
class RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias < ::RuboCop::Cop::Base
|
70
|
+
extend ::RuboCop::Cop::AutoCorrector
|
65
71
|
|
66
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
67
|
-
def
|
72
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#65
|
73
|
+
def on_casgn(node); end
|
68
74
|
|
69
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
70
|
-
def
|
75
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#48
|
76
|
+
def requires_type_alias?(param0 = T.unsafe(nil)); end
|
71
77
|
|
72
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
73
|
-
def
|
78
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#38
|
79
|
+
def type_alias_with_block?(param0 = T.unsafe(nil)); end
|
74
80
|
|
75
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
76
|
-
def
|
81
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#29
|
82
|
+
def type_alias_without_block(param0 = T.unsafe(nil)); end
|
77
83
|
|
78
|
-
|
79
|
-
def method_needing_aliasing_on_t?(param0); end
|
84
|
+
private
|
80
85
|
|
81
|
-
#
|
86
|
+
# Given nested send nodes, returns the leaf with explicit receiver.
|
82
87
|
#
|
83
|
-
#
|
84
|
-
def not_dynamic_type_creation_with_block?(node); end
|
85
|
-
|
86
|
-
# @return [Boolean]
|
88
|
+
# i.e. in Ruby
|
87
89
|
#
|
88
|
-
#
|
89
|
-
|
90
|
-
|
91
|
-
# @return [Boolean]
|
90
|
+
# a.b.c.d.e.f
|
91
|
+
# ^^^
|
92
92
|
#
|
93
|
-
#
|
94
|
-
def not_nil?(node); end
|
95
|
-
|
96
|
-
# @return [Boolean]
|
93
|
+
# i.e. in AST
|
97
94
|
#
|
98
|
-
#
|
99
|
-
|
95
|
+
# (send (send (send (send (send (send nil :a) :b) :c) :d) :e) :f)
|
96
|
+
# ^^^^^^^^^^^^^^^^^^^^^^^
|
97
|
+
#
|
98
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#98
|
99
|
+
def send_leaf(node); end
|
100
|
+
end
|
100
101
|
|
101
|
-
|
102
|
-
|
102
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#21
|
103
|
+
RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias::MSG = T.let(T.unsafe(nil), String)
|
104
|
+
|
105
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#23
|
106
|
+
RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias::WITHOUT_BLOCK_MSG = T.let(T.unsafe(nil), String)
|
107
|
+
|
108
|
+
# Checks for the a mistaken variant of the "obsolete memoization pattern" that used to be required
|
109
|
+
# on every call, causing the memoized value to be discarded and recomputed on every call.
|
110
|
+
#
|
111
|
+
# This cop will correct it to read from the ivar instead of `nil`, which will memoize it correctly.
|
112
|
+
#
|
113
|
+
# The result of this correction will be the "obsolete memoization pattern", which can further be corrected by
|
114
|
+
# the `Sorbet/ObsoleteStrictMemoization` cop.
|
115
|
+
#
|
116
|
+
# See `Sorbet/ObsoleteStrictMemoization` for more details.
|
117
|
+
#
|
118
|
+
# @example
|
119
|
+
# # bad
|
120
|
+
# sig { returns(Foo) }
|
121
|
+
# def foo
|
122
|
+
# # This `nil` is likely a mistake, causing the memoized value to be discarded and recomputed on every call.
|
123
|
+
# @foo = T.let(nil, T.nilable(Foo))
|
124
|
+
# @foo ||= some_computation
|
125
|
+
# end
|
126
|
+
#
|
127
|
+
# # good
|
128
|
+
# sig { returns(Foo) }
|
129
|
+
# def foo
|
130
|
+
# # This will now memoize the value as was likely intended, so `some_computation` is only ever called once.
|
131
|
+
# # ⚠️If `some_computation` has side effects, this might be a breaking change!
|
132
|
+
# @foo = T.let(@foo, T.nilable(Foo))
|
133
|
+
# @foo ||= some_computation
|
134
|
+
# end
|
135
|
+
# @see Sorbet/ObsoleteStrictMemoization
|
136
|
+
#
|
137
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#42
|
138
|
+
class RuboCop::Cop::Sorbet::BuggyObsoleteStrictMemoization < ::RuboCop::Cop::Base
|
139
|
+
include ::RuboCop::Cop::RangeHelp
|
140
|
+
include ::RuboCop::Cop::MatchRange
|
141
|
+
include ::RuboCop::Cop::Alignment
|
142
|
+
include ::RuboCop::Cop::LineLengthHelp
|
143
|
+
include ::RuboCop::Cop::Sorbet::TargetSorbetVersion
|
144
|
+
extend ::RuboCop::Cop::AutoCorrector
|
145
|
+
extend ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
|
103
146
|
|
104
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
105
|
-
def
|
147
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#55
|
148
|
+
def buggy_legacy_memoization_pattern?(param0 = T.unsafe(nil)); end
|
106
149
|
|
107
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
108
|
-
def
|
150
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#66
|
151
|
+
def on_begin(node); end
|
109
152
|
|
110
|
-
#
|
111
|
-
|
153
|
+
# @return [Boolean]
|
154
|
+
#
|
155
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#77
|
156
|
+
def relevant_file?(file); end
|
112
157
|
end
|
113
158
|
|
114
|
-
#
|
159
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#51
|
160
|
+
RuboCop::Cop::Sorbet::BuggyObsoleteStrictMemoization::MSG = T.let(T.unsafe(nil), String)
|
161
|
+
|
162
|
+
# Ensures that callback conditionals are bound to the right type
|
115
163
|
# so that they are type checked properly.
|
116
164
|
#
|
117
165
|
# Auto-correction is unsafe because other libraries define similar style callbacks as Rails, but don't always need
|
@@ -143,17 +191,17 @@ end
|
|
143
191
|
#
|
144
192
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#35
|
145
193
|
class RuboCop::Cop::Sorbet::CallbackConditionalsBinding < ::RuboCop::Cop::Cop
|
146
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#
|
194
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#75
|
147
195
|
def autocorrect(node); end
|
148
196
|
|
149
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#
|
197
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#127
|
150
198
|
def on_send(node); end
|
151
199
|
end
|
152
200
|
|
153
201
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#36
|
154
202
|
RuboCop::Cop::Sorbet::CallbackConditionalsBinding::CALLBACKS = T.let(T.unsafe(nil), Array)
|
155
203
|
|
156
|
-
#
|
204
|
+
# Disallows the usage of `checked(true)`. This usage could cause
|
157
205
|
# confusion; it could lead some people to believe that a method would be checked
|
158
206
|
# even if runtime checks have not been enabled on the class or globally.
|
159
207
|
# Additionally, in the event where checks are enabled, `checked(true)` would
|
@@ -167,21 +215,22 @@ RuboCop::Cop::Sorbet::CallbackConditionalsBinding::CALLBACKS = T.let(T.unsafe(ni
|
|
167
215
|
# # good
|
168
216
|
# sig { void }
|
169
217
|
#
|
170
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#
|
171
|
-
class RuboCop::Cop::Sorbet::CheckedTrueInSignature < ::RuboCop::Cop::
|
218
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#19
|
219
|
+
class RuboCop::Cop::Sorbet::CheckedTrueInSignature < ::RuboCop::Cop::Cop
|
172
220
|
include ::RuboCop::Cop::RangeHelp
|
221
|
+
include ::RuboCop::Cop::Sorbet::SignatureHelp
|
173
222
|
|
174
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#
|
223
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#24
|
175
224
|
def offending_node(param0); end
|
176
225
|
|
177
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#
|
226
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#35
|
178
227
|
def on_signature(node); end
|
179
228
|
end
|
180
229
|
|
181
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#
|
230
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#28
|
182
231
|
RuboCop::Cop::Sorbet::CheckedTrueInSignature::MESSAGE = T.let(T.unsafe(nil), String)
|
183
232
|
|
184
|
-
#
|
233
|
+
# Disallows the calls that are used to get constants fom Strings
|
185
234
|
# such as +constantize+, +const_get+, and +constants+.
|
186
235
|
#
|
187
236
|
# The goal of this cop is to make the code easier to statically analyze,
|
@@ -210,21 +259,18 @@ RuboCop::Cop::Sorbet::CheckedTrueInSignature::MESSAGE = T.let(T.unsafe(nil), Str
|
|
210
259
|
# # good
|
211
260
|
# { "User" => User }.fetch(class_name)
|
212
261
|
#
|
213
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#
|
262
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#37
|
214
263
|
class RuboCop::Cop::Sorbet::ConstantsFromStrings < ::RuboCop::Cop::Cop
|
215
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#
|
264
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#38
|
216
265
|
def constant_from_string?(param0 = T.unsafe(nil)); end
|
217
266
|
|
218
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#
|
267
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#42
|
219
268
|
def on_send(node); end
|
220
269
|
end
|
221
270
|
|
222
|
-
#
|
223
|
-
#
|
224
|
-
# It also suggests an autocorrect
|
271
|
+
# Checks for blank lines after signatures.
|
225
272
|
#
|
226
273
|
# @example
|
227
|
-
#
|
228
274
|
# # bad
|
229
275
|
# sig { void }
|
230
276
|
#
|
@@ -234,23 +280,31 @@ end
|
|
234
280
|
# sig { void }
|
235
281
|
# def foo; end
|
236
282
|
#
|
237
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#
|
238
|
-
class RuboCop::Cop::Sorbet::EmptyLineAfterSig < ::RuboCop::Cop::
|
283
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#17
|
284
|
+
class RuboCop::Cop::Sorbet::EmptyLineAfterSig < ::RuboCop::Cop::Base
|
239
285
|
include ::RuboCop::Cop::RangeHelp
|
286
|
+
include ::RuboCop::Cop::Sorbet::SignatureHelp
|
287
|
+
extend ::RuboCop::Cop::AutoCorrector
|
240
288
|
|
241
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#
|
242
|
-
def
|
289
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#34
|
290
|
+
def on_signature(sig); end
|
243
291
|
|
244
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#
|
245
|
-
def
|
292
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#25
|
293
|
+
def sig_or_signable_method_definition?(param0 = T.unsafe(nil)); end
|
246
294
|
|
247
295
|
private
|
248
296
|
|
249
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#
|
250
|
-
def
|
297
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#57
|
298
|
+
def lines_between(node1, node2, buffer: T.unsafe(nil)); end
|
299
|
+
|
300
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#53
|
301
|
+
def next_sibling(node); end
|
251
302
|
end
|
252
303
|
|
253
|
-
#
|
304
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#22
|
305
|
+
RuboCop::Cop::Sorbet::EmptyLineAfterSig::MSG = T.let(T.unsafe(nil), String)
|
306
|
+
|
307
|
+
# Checks that the Sorbet sigil comes as the first magic comment in the file.
|
254
308
|
#
|
255
309
|
# The expected order for magic comments is: (en)?coding, typed, warn_indent then frozen_string_literal.
|
256
310
|
#
|
@@ -283,31 +337,31 @@ class RuboCop::Cop::Sorbet::EnforceSigilOrder < ::RuboCop::Cop::Sorbet::ValidSig
|
|
283
337
|
|
284
338
|
# checks
|
285
339
|
#
|
286
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#
|
340
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#92
|
287
341
|
def check_magic_comments_order(tokens); end
|
288
342
|
|
289
343
|
# Get all the tokens in `processed_source` that match `MAGIC_REGEX`
|
290
344
|
#
|
291
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#
|
345
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#84
|
292
346
|
def extract_magic_comments(processed_source); end
|
293
347
|
end
|
294
348
|
|
295
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#
|
349
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#68
|
296
350
|
RuboCop::Cop::Sorbet::EnforceSigilOrder::CODING_REGEX = T.let(T.unsafe(nil), Regexp)
|
297
351
|
|
298
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#
|
352
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#70
|
299
353
|
RuboCop::Cop::Sorbet::EnforceSigilOrder::FROZEN_REGEX = T.let(T.unsafe(nil), Regexp)
|
300
354
|
|
301
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#
|
355
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#69
|
302
356
|
RuboCop::Cop::Sorbet::EnforceSigilOrder::INDENT_REGEX = T.let(T.unsafe(nil), Regexp)
|
303
357
|
|
304
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#
|
358
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#79
|
305
359
|
RuboCop::Cop::Sorbet::EnforceSigilOrder::MAGIC_REGEX = T.let(T.unsafe(nil), Regexp)
|
306
360
|
|
307
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#
|
361
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#72
|
308
362
|
RuboCop::Cop::Sorbet::EnforceSigilOrder::PREFERRED_ORDER = T.let(T.unsafe(nil), Hash)
|
309
363
|
|
310
|
-
#
|
364
|
+
# Checks that every method definition and attribute accessor has a Sorbet signature.
|
311
365
|
#
|
312
366
|
# It also suggest an autocorrect with placeholders so the following code:
|
313
367
|
#
|
@@ -327,90 +381,92 @@ RuboCop::Cop::Sorbet::EnforceSigilOrder::PREFERRED_ORDER = T.let(T.unsafe(nil),
|
|
327
381
|
# * `ParameterTypePlaceholder`: placeholders used for parameter types (default: 'T.untyped')
|
328
382
|
# * `ReturnTypePlaceholder`: placeholders used for return types (default: 'T.untyped')
|
329
383
|
#
|
330
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
331
|
-
class RuboCop::Cop::Sorbet::EnforceSignatures < ::RuboCop::Cop::
|
384
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#27
|
385
|
+
class RuboCop::Cop::Sorbet::EnforceSignatures < ::RuboCop::Cop::Cop
|
386
|
+
include ::RuboCop::Cop::Sorbet::SignatureHelp
|
387
|
+
|
332
388
|
# @return [EnforceSignatures] a new instance of EnforceSignatures
|
333
389
|
#
|
334
390
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#30
|
335
391
|
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end
|
336
392
|
|
337
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
393
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#36
|
338
394
|
def accessor?(param0 = T.unsafe(nil)); end
|
339
395
|
|
340
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
396
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#56
|
341
397
|
def autocorrect(node); end
|
342
398
|
|
343
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
399
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#40
|
344
400
|
def on_def(node); end
|
345
401
|
|
346
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
402
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#44
|
347
403
|
def on_defs(node); end
|
348
404
|
|
349
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
405
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#48
|
350
406
|
def on_send(node); end
|
351
407
|
|
352
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
408
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#52
|
353
409
|
def on_signature(node); end
|
354
410
|
|
355
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
411
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#75
|
356
412
|
def scope(node); end
|
357
413
|
|
358
414
|
private
|
359
415
|
|
360
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
416
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#84
|
361
417
|
def check_node(node); end
|
362
418
|
|
363
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
419
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#95
|
364
420
|
def param_type_placeholder; end
|
365
421
|
|
366
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
422
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#99
|
367
423
|
def return_type_placeholder; end
|
368
424
|
end
|
369
425
|
|
370
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
426
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#103
|
371
427
|
class RuboCop::Cop::Sorbet::EnforceSignatures::SigSuggestion
|
372
428
|
# @return [SigSuggestion] a new instance of SigSuggestion
|
373
429
|
#
|
374
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
430
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#106
|
375
431
|
def initialize(indent, param_placeholder, return_placeholder); end
|
376
432
|
|
377
433
|
# Returns the value of attribute params.
|
378
434
|
#
|
379
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
435
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
|
380
436
|
def params; end
|
381
437
|
|
382
438
|
# Sets the attribute params
|
383
439
|
#
|
384
440
|
# @param value the value to set the attribute params to.
|
385
441
|
#
|
386
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
442
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
|
387
443
|
def params=(_arg0); end
|
388
444
|
|
389
445
|
# Returns the value of attribute returns.
|
390
446
|
#
|
391
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
447
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
|
392
448
|
def returns; end
|
393
449
|
|
394
450
|
# Sets the attribute returns
|
395
451
|
#
|
396
452
|
# @param value the value to set the attribute returns to.
|
397
453
|
#
|
398
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
454
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
|
399
455
|
def returns=(_arg0); end
|
400
456
|
|
401
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
457
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#114
|
402
458
|
def to_autocorrect; end
|
403
459
|
|
404
460
|
private
|
405
461
|
|
406
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
462
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#126
|
407
463
|
def generate_params; end
|
408
464
|
|
409
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#
|
465
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#138
|
410
466
|
def generate_return; end
|
411
467
|
end
|
412
468
|
|
413
|
-
#
|
469
|
+
# Checks that there is only one Sorbet sigil in a given file
|
414
470
|
#
|
415
471
|
# For example, the following class with two sigils
|
416
472
|
#
|
@@ -430,7 +486,7 @@ end
|
|
430
486
|
class RuboCop::Cop::Sorbet::EnforceSingleSigil < ::RuboCop::Cop::Sorbet::ValidSigil
|
431
487
|
include ::RuboCop::Cop::RangeHelp
|
432
488
|
|
433
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#
|
489
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#40
|
434
490
|
def autocorrect(_node); end
|
435
491
|
|
436
492
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#29
|
@@ -438,11 +494,11 @@ class RuboCop::Cop::Sorbet::EnforceSingleSigil < ::RuboCop::Cop::Sorbet::ValidSi
|
|
438
494
|
|
439
495
|
protected
|
440
496
|
|
441
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#
|
497
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#56
|
442
498
|
def extract_all_sigils(processed_source); end
|
443
499
|
end
|
444
500
|
|
445
|
-
#
|
501
|
+
# Makes the Sorbet `false` sigil mandatory in all files.
|
446
502
|
#
|
447
503
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/false_sigil.rb#10
|
448
504
|
class RuboCop::Cop::Sorbet::FalseSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
@@ -450,7 +506,7 @@ class RuboCop::Cop::Sorbet::FalseSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
|
450
506
|
def minimum_strictness; end
|
451
507
|
end
|
452
508
|
|
453
|
-
#
|
509
|
+
# Ensures RBI shims do not include a call to extend T::Sig
|
454
510
|
# or to extend T::Helpers
|
455
511
|
#
|
456
512
|
# @example
|
@@ -471,61 +527,76 @@ end
|
|
471
527
|
# end
|
472
528
|
#
|
473
529
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#25
|
474
|
-
class RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims < ::RuboCop::Cop::
|
530
|
+
class RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims < ::RuboCop::Cop::Base
|
475
531
|
include ::RuboCop::Cop::RangeHelp
|
532
|
+
extend ::RuboCop::Cop::AutoCorrector
|
476
533
|
|
477
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#
|
478
|
-
def
|
479
|
-
|
480
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#35
|
481
|
-
def extend_t_helpers?(param0 = T.unsafe(nil)); end
|
534
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#33
|
535
|
+
def extend_t_sig_or_helpers?(param0 = T.unsafe(nil)); end
|
482
536
|
|
483
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#
|
484
|
-
def extend_t_sig?(param0 = T.unsafe(nil)); end
|
485
|
-
|
486
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#47
|
537
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#37
|
487
538
|
def on_send(node); end
|
488
539
|
end
|
489
540
|
|
490
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#
|
541
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#29
|
491
542
|
RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims::MSG = T.let(T.unsafe(nil), String)
|
492
543
|
|
493
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#
|
544
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#30
|
494
545
|
RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
495
546
|
|
547
|
+
# Correct `send` expressions in include statements by constant literals.
|
548
|
+
#
|
549
|
+
# Sorbet, the static checker, is not (yet) able to support constructs on the
|
550
|
+
# following form:
|
551
|
+
#
|
552
|
+
# ```ruby
|
553
|
+
# class MyClass
|
554
|
+
# include send_expr
|
555
|
+
# end
|
556
|
+
# ```
|
557
|
+
#
|
558
|
+
# Multiple occurences of this can be found in Shopify's code base like:
|
559
|
+
#
|
560
|
+
# ```ruby
|
561
|
+
# include Rails.application.routes.url_helpers
|
562
|
+
# ```
|
563
|
+
# or
|
564
|
+
# ```ruby
|
565
|
+
# include Polaris::Engine.helpers
|
566
|
+
# ```
|
567
|
+
#
|
496
568
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#29
|
497
|
-
class RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral < ::RuboCop::Cop::
|
498
|
-
|
499
|
-
#
|
500
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#40
|
501
|
-
def initialize(*_arg0); end
|
502
|
-
|
503
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#56
|
504
|
-
def autocorrect(node); end
|
569
|
+
class RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral < ::RuboCop::Cop::Base
|
570
|
+
extend ::RuboCop::Cop::AutoCorrector
|
505
571
|
|
506
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#
|
507
|
-
def
|
572
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#36
|
573
|
+
def dynamic_inclusion?(param0 = T.unsafe(nil)); end
|
508
574
|
|
509
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#
|
575
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#40
|
510
576
|
def on_send(node); end
|
511
577
|
|
512
|
-
|
578
|
+
private
|
579
|
+
|
580
|
+
# @return [Boolean]
|
513
581
|
#
|
514
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#
|
515
|
-
def
|
582
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#52
|
583
|
+
def neither_const_nor_self?(node); end
|
516
584
|
|
517
|
-
#
|
585
|
+
# Returns true if the node is within a module declaration that is not anonymous.
|
518
586
|
#
|
519
|
-
# @
|
587
|
+
# @return [Boolean]
|
520
588
|
#
|
521
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#
|
522
|
-
def
|
589
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#57
|
590
|
+
def within_onymous_module?(node); end
|
523
591
|
end
|
524
592
|
|
525
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#
|
593
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#32
|
526
594
|
RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral::MSG = T.let(T.unsafe(nil), String)
|
527
595
|
|
528
|
-
#
|
596
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#33
|
597
|
+
RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
598
|
+
|
599
|
+
# Makes sure that RBI files are always located under the defined allowed paths.
|
529
600
|
#
|
530
601
|
# Options:
|
531
602
|
#
|
@@ -554,19 +625,199 @@ class RuboCop::Cop::Sorbet::ForbidRBIOutsideOfAllowedPaths < ::RuboCop::Cop::Cop
|
|
554
625
|
def allowed_paths; end
|
555
626
|
end
|
556
627
|
|
557
|
-
#
|
558
|
-
|
559
|
-
|
560
|
-
|
628
|
+
# Correct superclass `send` expressions by constant literals.
|
629
|
+
#
|
630
|
+
# Sorbet, the static checker, is not (yet) able to support constructs on the
|
631
|
+
# following form:
|
632
|
+
#
|
633
|
+
# ```ruby
|
634
|
+
# class Foo < send_expr; end
|
635
|
+
# ```
|
636
|
+
#
|
637
|
+
# Multiple occurences of this can be found in Shopify's code base like:
|
638
|
+
#
|
639
|
+
# ```ruby
|
640
|
+
# class ShopScope < Component::TrustedIdScope[ShopIdentity::ShopId]
|
641
|
+
# ```
|
642
|
+
# or
|
643
|
+
# ```ruby
|
644
|
+
# class ApiClientEligibility < Struct.new(:api_client, :match_results, :shop)
|
645
|
+
# ```
|
646
|
+
#
|
647
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#28
|
648
|
+
class RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral < ::RuboCop::Cop::Base
|
649
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#32
|
650
|
+
def dynamic_superclass?(param0 = T.unsafe(nil)); end
|
561
651
|
|
562
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#
|
652
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#36
|
563
653
|
def on_class(node); end
|
564
654
|
end
|
565
655
|
|
566
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#
|
656
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#29
|
567
657
|
RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral::MSG = T.let(T.unsafe(nil), String)
|
568
658
|
|
569
|
-
#
|
659
|
+
# Disallow using `T::Struct` and `T::Props`.
|
660
|
+
#
|
661
|
+
# @example
|
662
|
+
#
|
663
|
+
# # bad
|
664
|
+
# class MyStruct < T::Struct
|
665
|
+
# const :foo, String
|
666
|
+
# prop :bar, Integer, default: 0
|
667
|
+
#
|
668
|
+
# def some_method; end
|
669
|
+
# end
|
670
|
+
#
|
671
|
+
# # good
|
672
|
+
# class MyStruct
|
673
|
+
# extend T::Sig
|
674
|
+
#
|
675
|
+
# sig { returns(String) }
|
676
|
+
# attr_reader :foo
|
677
|
+
#
|
678
|
+
# sig { returns(Integer) }
|
679
|
+
# attr_accessor :bar
|
680
|
+
#
|
681
|
+
# sig { params(foo: String, bar: Integer) }
|
682
|
+
# def initialize(foo:, bar: 0)
|
683
|
+
# @foo = foo
|
684
|
+
# @bar = bar
|
685
|
+
# end
|
686
|
+
#
|
687
|
+
# def some_method; end
|
688
|
+
# end
|
689
|
+
#
|
690
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#38
|
691
|
+
class RuboCop::Cop::Sorbet::ForbidTStruct < ::RuboCop::Cop::Base
|
692
|
+
include ::RuboCop::Cop::Alignment
|
693
|
+
include ::RuboCop::Cop::RangeHelp
|
694
|
+
include ::RuboCop::Cop::CommentsHelp
|
695
|
+
extend ::RuboCop::Cop::AutoCorrector
|
696
|
+
|
697
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#164
|
698
|
+
def on_class(node); end
|
699
|
+
|
700
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#205
|
701
|
+
def on_send(node); end
|
702
|
+
|
703
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#162
|
704
|
+
def t_props?(param0 = T.unsafe(nil)); end
|
705
|
+
|
706
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#157
|
707
|
+
def t_struct?(param0 = T.unsafe(nil)); end
|
708
|
+
|
709
|
+
private
|
710
|
+
|
711
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#213
|
712
|
+
def initialize_method(indent, props); end
|
713
|
+
|
714
|
+
# @return [Boolean]
|
715
|
+
#
|
716
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#226
|
717
|
+
def previous_line_blank?(node); end
|
718
|
+
end
|
719
|
+
|
720
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#47
|
721
|
+
RuboCop::Cop::Sorbet::ForbidTStruct::MSG_PROPS = T.let(T.unsafe(nil), String)
|
722
|
+
|
723
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#46
|
724
|
+
RuboCop::Cop::Sorbet::ForbidTStruct::MSG_STRUCT = T.let(T.unsafe(nil), String)
|
725
|
+
|
726
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#104
|
727
|
+
class RuboCop::Cop::Sorbet::ForbidTStruct::Property
|
728
|
+
# @return [Property] a new instance of Property
|
729
|
+
#
|
730
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#107
|
731
|
+
def initialize(node, kind, name, type, default:, factory:); end
|
732
|
+
|
733
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#123
|
734
|
+
def attr_accessor; end
|
735
|
+
|
736
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#119
|
737
|
+
def attr_sig; end
|
738
|
+
|
739
|
+
# Returns the value of attribute default.
|
740
|
+
#
|
741
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
|
742
|
+
def default; end
|
743
|
+
|
744
|
+
# Returns the value of attribute factory.
|
745
|
+
#
|
746
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
|
747
|
+
def factory; end
|
748
|
+
|
749
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#144
|
750
|
+
def initialize_assign; end
|
751
|
+
|
752
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#131
|
753
|
+
def initialize_param; end
|
754
|
+
|
755
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#127
|
756
|
+
def initialize_sig_param; end
|
757
|
+
|
758
|
+
# Returns the value of attribute kind.
|
759
|
+
#
|
760
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
|
761
|
+
def kind; end
|
762
|
+
|
763
|
+
# Returns the value of attribute name.
|
764
|
+
#
|
765
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
|
766
|
+
def name; end
|
767
|
+
|
768
|
+
# @return [Boolean]
|
769
|
+
#
|
770
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#151
|
771
|
+
def nilable?; end
|
772
|
+
|
773
|
+
# Returns the value of attribute node.
|
774
|
+
#
|
775
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
|
776
|
+
def node; end
|
777
|
+
|
778
|
+
# Returns the value of attribute type.
|
779
|
+
#
|
780
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
|
781
|
+
def type; end
|
782
|
+
end
|
783
|
+
|
784
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#44
|
785
|
+
RuboCop::Cop::Sorbet::ForbidTStruct::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
786
|
+
|
787
|
+
# This class walks down the class body of a T::Struct and collects all the properties that will need to be
|
788
|
+
# translated into `attr_reader` and `attr_accessor` methods.
|
789
|
+
#
|
790
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#51
|
791
|
+
class RuboCop::Cop::Sorbet::ForbidTStruct::TStructWalker
|
792
|
+
include ::RuboCop::AST::Traversal
|
793
|
+
extend ::RuboCop::AST::NodePattern::Macros
|
794
|
+
|
795
|
+
# @return [TStructWalker] a new instance of TStructWalker
|
796
|
+
#
|
797
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#57
|
798
|
+
def initialize; end
|
799
|
+
|
800
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#63
|
801
|
+
def extend_t_sig?(param0 = T.unsafe(nil)); end
|
802
|
+
|
803
|
+
# Returns the value of attribute has_extend_t_sig.
|
804
|
+
#
|
805
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#55
|
806
|
+
def has_extend_t_sig; end
|
807
|
+
|
808
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#72
|
809
|
+
def on_send(node); end
|
810
|
+
|
811
|
+
# Returns the value of attribute props.
|
812
|
+
#
|
813
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#55
|
814
|
+
def props; end
|
815
|
+
|
816
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#68
|
817
|
+
def t_struct_prop?(param0 = T.unsafe(nil)); end
|
818
|
+
end
|
819
|
+
|
820
|
+
# Disallows using `T.unsafe` anywhere.
|
570
821
|
#
|
571
822
|
# @example
|
572
823
|
#
|
@@ -577,15 +828,21 @@ RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral::MSG = T.let(T.unsafe(nil), S
|
|
577
828
|
# foo
|
578
829
|
#
|
579
830
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#17
|
580
|
-
class RuboCop::Cop::Sorbet::ForbidTUnsafe < ::RuboCop::Cop::
|
581
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#
|
831
|
+
class RuboCop::Cop::Sorbet::ForbidTUnsafe < ::RuboCop::Cop::Base
|
832
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#24
|
582
833
|
def on_send(node); end
|
583
834
|
|
584
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#
|
835
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#22
|
585
836
|
def t_unsafe?(param0 = T.unsafe(nil)); end
|
586
837
|
end
|
587
838
|
|
588
|
-
#
|
839
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#18
|
840
|
+
RuboCop::Cop::Sorbet::ForbidTUnsafe::MSG = T.let(T.unsafe(nil), String)
|
841
|
+
|
842
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#19
|
843
|
+
RuboCop::Cop::Sorbet::ForbidTUnsafe::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
844
|
+
|
845
|
+
# Disallows using `T.untyped` anywhere.
|
589
846
|
#
|
590
847
|
# @example
|
591
848
|
#
|
@@ -598,15 +855,53 @@ end
|
|
598
855
|
# def foo(my_argument); end
|
599
856
|
#
|
600
857
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#20
|
601
|
-
class RuboCop::Cop::Sorbet::ForbidTUntyped < ::RuboCop::Cop::
|
602
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#
|
858
|
+
class RuboCop::Cop::Sorbet::ForbidTUntyped < ::RuboCop::Cop::Base
|
859
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#27
|
603
860
|
def on_send(node); end
|
604
861
|
|
605
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#
|
862
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#25
|
606
863
|
def t_untyped?(param0 = T.unsafe(nil)); end
|
607
864
|
end
|
608
865
|
|
609
|
-
#
|
866
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#21
|
867
|
+
RuboCop::Cop::Sorbet::ForbidTUntyped::MSG = T.let(T.unsafe(nil), String)
|
868
|
+
|
869
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#22
|
870
|
+
RuboCop::Cop::Sorbet::ForbidTUntyped::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
871
|
+
|
872
|
+
# Disallows defining type aliases that contain shapes
|
873
|
+
#
|
874
|
+
# @example
|
875
|
+
#
|
876
|
+
# # bad
|
877
|
+
# Foo = T.type_alias { { foo: Integer } }
|
878
|
+
#
|
879
|
+
# # good
|
880
|
+
# class Foo
|
881
|
+
# extend T::Sig
|
882
|
+
#
|
883
|
+
# sig { params(foo: Integer).void }
|
884
|
+
# def initialize(foo)
|
885
|
+
# @foo = foo
|
886
|
+
# end
|
887
|
+
# end
|
888
|
+
#
|
889
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#24
|
890
|
+
class RuboCop::Cop::Sorbet::ForbidTypeAliasedShapes < ::RuboCop::Cop::Base
|
891
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#36
|
892
|
+
def on_block(node); end
|
893
|
+
|
894
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#36
|
895
|
+
def on_numblock(node); end
|
896
|
+
|
897
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#28
|
898
|
+
def shape_type_alias?(param0 = T.unsafe(nil)); end
|
899
|
+
end
|
900
|
+
|
901
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#25
|
902
|
+
RuboCop::Cop::Sorbet::ForbidTypeAliasedShapes::MSG = T.let(T.unsafe(nil), String)
|
903
|
+
|
904
|
+
# Disallows use of `T.untyped` or `T.nilable(T.untyped)`
|
610
905
|
# as a prop type for `T::Struct` or `T::ImmutableStruct`.
|
611
906
|
#
|
612
907
|
# @example
|
@@ -624,33 +919,32 @@ end
|
|
624
919
|
# end
|
625
920
|
#
|
626
921
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#25
|
627
|
-
class RuboCop::Cop::Sorbet::ForbidUntypedStructProps < ::RuboCop::Cop::
|
628
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#
|
922
|
+
class RuboCop::Cop::Sorbet::ForbidUntypedStructProps < ::RuboCop::Cop::Base
|
923
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#54
|
629
924
|
def on_class(node); end
|
630
925
|
|
631
926
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#44
|
632
927
|
def subclass_of_t_struct?(param0 = T.unsafe(nil)); end
|
633
928
|
|
634
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#
|
635
|
-
def t_immutable_struct(param0 = T.unsafe(nil)); end
|
636
|
-
|
637
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#40
|
929
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#39
|
638
930
|
def t_nilable_untyped(param0 = T.unsafe(nil)); end
|
639
931
|
|
640
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#
|
932
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#29
|
641
933
|
def t_struct(param0 = T.unsafe(nil)); end
|
642
934
|
|
643
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#
|
935
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#34
|
644
936
|
def t_untyped(param0 = T.unsafe(nil)); end
|
645
937
|
|
646
|
-
#
|
938
|
+
# Search for untyped prop/const declarations and capture their types
|
939
|
+
#
|
940
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#50
|
647
941
|
def untyped_props(param0); end
|
648
942
|
end
|
649
943
|
|
650
944
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#26
|
651
945
|
RuboCop::Cop::Sorbet::ForbidUntypedStructProps::MSG = T.let(T.unsafe(nil), String)
|
652
946
|
|
653
|
-
#
|
947
|
+
# Makes the Sorbet typed sigil mandatory in all files.
|
654
948
|
#
|
655
949
|
# Options:
|
656
950
|
#
|
@@ -667,7 +961,7 @@ class RuboCop::Cop::Sorbet::HasSigil < ::RuboCop::Cop::Sorbet::ValidSigil
|
|
667
961
|
def require_sigil_on_all_files?; end
|
668
962
|
end
|
669
963
|
|
670
|
-
#
|
964
|
+
# Makes the Sorbet `ignore` sigil mandatory in all files.
|
671
965
|
#
|
672
966
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/ignore_sigil.rb#10
|
673
967
|
class RuboCop::Cop::Sorbet::IgnoreSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
@@ -675,7 +969,54 @@ class RuboCop::Cop::Sorbet::IgnoreSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
|
675
969
|
def minimum_strictness; end
|
676
970
|
end
|
677
971
|
|
678
|
-
#
|
972
|
+
# Disallows declaring implicit conversion methods.
|
973
|
+
# Since Sorbet is a nominal (not structural) type system,
|
974
|
+
# implicit conversion is currently unsupported.
|
975
|
+
#
|
976
|
+
# @example
|
977
|
+
#
|
978
|
+
# # bad
|
979
|
+
# def to_str; end
|
980
|
+
#
|
981
|
+
# # good
|
982
|
+
# def to_str(x); end
|
983
|
+
#
|
984
|
+
# # bad
|
985
|
+
# def self.to_str; end
|
986
|
+
#
|
987
|
+
# # good
|
988
|
+
# def self.to_str(x); end
|
989
|
+
#
|
990
|
+
# # bad
|
991
|
+
# alias to_str to_s
|
992
|
+
# @note Since the arity of aliased methods is not checked, false positives may result.
|
993
|
+
# @see https://docs.ruby-lang.org/en/master/implicit_conversion_rdoc.html
|
994
|
+
#
|
995
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#31
|
996
|
+
class RuboCop::Cop::Sorbet::ImplicitConversionMethod < ::RuboCop::Cop::Base
|
997
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#37
|
998
|
+
def on_alias(node); end
|
999
|
+
|
1000
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#42
|
1001
|
+
def on_def(node); end
|
1002
|
+
|
1003
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#42
|
1004
|
+
def on_defs(node); end
|
1005
|
+
|
1006
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#50
|
1007
|
+
def on_send(node); end
|
1008
|
+
end
|
1009
|
+
|
1010
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#32
|
1011
|
+
RuboCop::Cop::Sorbet::ImplicitConversionMethod::IMPLICIT_CONVERSION_METHODS = T.let(T.unsafe(nil), Array)
|
1012
|
+
|
1013
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#33
|
1014
|
+
RuboCop::Cop::Sorbet::ImplicitConversionMethod::MSG = T.let(T.unsafe(nil), String)
|
1015
|
+
|
1016
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#35
|
1017
|
+
RuboCop::Cop::Sorbet::ImplicitConversionMethod::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1018
|
+
|
1019
|
+
# Checks for the ordering of keyword arguments required by
|
679
1020
|
# sorbet-runtime. The ordering requires that all keyword arguments
|
680
1021
|
# are at the end of the parameters list, and all keyword arguments
|
681
1022
|
# with a default value must be after those without default values.
|
@@ -690,9 +1031,11 @@ end
|
|
690
1031
|
# sig { params(b: String, a: Integer).void }
|
691
1032
|
# def foo(b:, a: 1); end
|
692
1033
|
#
|
693
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#
|
694
|
-
class RuboCop::Cop::Sorbet::KeywordArgumentOrdering < ::RuboCop::Cop::
|
695
|
-
|
1034
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#20
|
1035
|
+
class RuboCop::Cop::Sorbet::KeywordArgumentOrdering < ::RuboCop::Cop::Cop
|
1036
|
+
include ::RuboCop::Cop::Sorbet::SignatureHelp
|
1037
|
+
|
1038
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#23
|
696
1039
|
def on_signature(node); end
|
697
1040
|
|
698
1041
|
private
|
@@ -703,16 +1046,69 @@ end
|
|
703
1046
|
|
704
1047
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#8
|
705
1048
|
module RuboCop::Cop::Sorbet::MutableConstantSorbetAwareBehaviour
|
706
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#
|
1049
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#18
|
707
1050
|
def on_assignment(value); end
|
708
1051
|
|
709
1052
|
class << self
|
710
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#
|
1053
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#10
|
711
1054
|
def prepended(base); end
|
712
1055
|
end
|
713
1056
|
end
|
714
1057
|
|
715
|
-
#
|
1058
|
+
# Checks for the obsolete pattern for initializing instance variables that was required for older Sorbet
|
1059
|
+
#
|
1060
|
+
# It's no longer required, as of Sorbet 0.5.10210
|
1061
|
+
# See https://sorbet.org/docs/type-assertions#put-type-assertions-behind-memoization
|
1062
|
+
#
|
1063
|
+
# @example
|
1064
|
+
#
|
1065
|
+
# # bad
|
1066
|
+
# sig { returns(Foo) }
|
1067
|
+
# def foo
|
1068
|
+
# @foo = T.let(@foo, T.nilable(Foo))
|
1069
|
+
# @foo ||= Foo.new
|
1070
|
+
# end
|
1071
|
+
#
|
1072
|
+
# # bad
|
1073
|
+
# sig { returns(Foo) }
|
1074
|
+
# def foo
|
1075
|
+
# # This would have been a mistake, causing the memoized value to be discarded and recomputed on every call.
|
1076
|
+
# @foo = T.let(nil, T.nilable(Foo))
|
1077
|
+
# @foo ||= Foo.new
|
1078
|
+
# end
|
1079
|
+
#
|
1080
|
+
# # good
|
1081
|
+
# sig { returns(Foo) }
|
1082
|
+
# def foo
|
1083
|
+
# @foo ||= T.let(Foo.new, T.nilable(Foo))
|
1084
|
+
# end
|
1085
|
+
#
|
1086
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#37
|
1087
|
+
class RuboCop::Cop::Sorbet::ObsoleteStrictMemoization < ::RuboCop::Cop::Base
|
1088
|
+
include ::RuboCop::Cop::RangeHelp
|
1089
|
+
include ::RuboCop::Cop::MatchRange
|
1090
|
+
include ::RuboCop::Cop::Alignment
|
1091
|
+
include ::RuboCop::Cop::LineLengthHelp
|
1092
|
+
include ::RuboCop::Cop::Sorbet::TargetSorbetVersion
|
1093
|
+
extend ::RuboCop::Cop::AutoCorrector
|
1094
|
+
extend ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
|
1095
|
+
|
1096
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#51
|
1097
|
+
def legacy_memoization_pattern?(param0 = T.unsafe(nil)); end
|
1098
|
+
|
1099
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#62
|
1100
|
+
def on_begin(node); end
|
1101
|
+
|
1102
|
+
# @return [Boolean]
|
1103
|
+
#
|
1104
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#86
|
1105
|
+
def relevant_file?(file); end
|
1106
|
+
end
|
1107
|
+
|
1108
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#47
|
1109
|
+
RuboCop::Cop::Sorbet::ObsoleteStrictMemoization::MSG = T.let(T.unsafe(nil), String)
|
1110
|
+
|
1111
|
+
# Ensures one ancestor per requires_ancestor line
|
716
1112
|
# rather than chaining them as a comma-separated list.
|
717
1113
|
#
|
718
1114
|
# @example
|
@@ -730,30 +1126,30 @@ end
|
|
730
1126
|
#
|
731
1127
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#24
|
732
1128
|
class RuboCop::Cop::Sorbet::OneAncestorPerLine < ::RuboCop::Cop::Cop
|
733
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#
|
1129
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#38
|
734
1130
|
def abstract?(param0); end
|
735
1131
|
|
736
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#
|
1132
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#56
|
737
1133
|
def autocorrect(node); end
|
738
1134
|
|
739
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#
|
1135
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#33
|
740
1136
|
def more_than_one_ancestor(param0 = T.unsafe(nil)); end
|
741
1137
|
|
742
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#
|
1138
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#49
|
743
1139
|
def on_class(node); end
|
744
1140
|
|
745
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#
|
1141
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#42
|
746
1142
|
def on_module(node); end
|
747
1143
|
|
748
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#
|
1144
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#28
|
749
1145
|
def requires_ancestors(param0); end
|
750
1146
|
|
751
1147
|
private
|
752
1148
|
|
753
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#
|
1149
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#72
|
754
1150
|
def new_ra_line(indent_count); end
|
755
1151
|
|
756
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#
|
1152
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#66
|
757
1153
|
def process_node(node); end
|
758
1154
|
end
|
759
1155
|
|
@@ -779,42 +1175,64 @@ RuboCop::Cop::Sorbet::OneAncestorPerLine::MSG = T.let(T.unsafe(nil), String)
|
|
779
1175
|
# end
|
780
1176
|
#
|
781
1177
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#28
|
782
|
-
class RuboCop::Cop::Sorbet::RedundantExtendTSig < ::RuboCop::Cop::
|
783
|
-
|
784
|
-
|
1178
|
+
class RuboCop::Cop::Sorbet::RedundantExtendTSig < ::RuboCop::Cop::Base
|
1179
|
+
include ::RuboCop::Cop::RangeHelp
|
1180
|
+
extend ::RuboCop::Cop::AutoCorrector
|
785
1181
|
|
786
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#
|
1182
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#36
|
787
1183
|
def extend_t_sig?(param0 = T.unsafe(nil)); end
|
788
1184
|
|
789
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#
|
1185
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#40
|
790
1186
|
def on_send(node); end
|
791
1187
|
end
|
792
1188
|
|
793
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#
|
1189
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#32
|
794
1190
|
RuboCop::Cop::Sorbet::RedundantExtendTSig::MSG = T.let(T.unsafe(nil), String)
|
795
1191
|
|
796
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#
|
1192
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#33
|
797
1193
|
RuboCop::Cop::Sorbet::RedundantExtendTSig::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
798
1194
|
|
799
|
-
#
|
800
|
-
|
801
|
-
|
1195
|
+
# Checks for the correct order of sig builder methods:
|
1196
|
+
# - abstract, override, or overridable
|
1197
|
+
# - type_parameters
|
1198
|
+
# - params
|
1199
|
+
# - returns, or void
|
1200
|
+
# - soft, checked, or on_failure
|
1201
|
+
#
|
1202
|
+
# # bad
|
1203
|
+
# sig { returns(Integer).params(x: Integer) }
|
1204
|
+
#
|
1205
|
+
# # good
|
1206
|
+
# sig { params(x: Integer).returns(Integer) }
|
1207
|
+
#
|
1208
|
+
# @example
|
1209
|
+
# # bad
|
1210
|
+
# sig { void.abstract }
|
1211
|
+
#
|
1212
|
+
# # good
|
1213
|
+
# sig { abstract.void }
|
1214
|
+
#
|
1215
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#31
|
1216
|
+
class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Cop
|
1217
|
+
include ::RuboCop::Cop::Sorbet::SignatureHelp
|
1218
|
+
|
1219
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#77
|
802
1220
|
def autocorrect(node); end
|
803
1221
|
|
804
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#
|
1222
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#53
|
805
1223
|
def on_signature(node); end
|
806
1224
|
|
807
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#
|
1225
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#49
|
808
1226
|
def root_call(param0); end
|
809
1227
|
|
810
1228
|
private
|
811
1229
|
|
812
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#
|
1230
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#119
|
813
1231
|
def call_chain(sig_child_node); end
|
814
1232
|
|
815
1233
|
# @return [Boolean]
|
816
1234
|
#
|
817
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#
|
1235
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#115
|
818
1236
|
def can_autocorrect?; end
|
819
1237
|
|
820
1238
|
# This method exists to reparse the current node with modern features enabled.
|
@@ -822,41 +1240,44 @@ class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Sorbet::Signat
|
|
822
1240
|
# "index sends" (i.e. `[]` calls) back to index accessors (i.e. as `foo[bar]``).
|
823
1241
|
# Otherwise, we would get the unparsed node as `foo.[](bar)`.
|
824
1242
|
#
|
825
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#
|
1243
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#106
|
826
1244
|
def node_reparsed_with_modern_features(node); end
|
827
1245
|
end
|
828
1246
|
|
829
1247
|
# Create a subclass of AST Builder that has modern features turned on
|
830
1248
|
#
|
831
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#
|
1249
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#95
|
832
1250
|
class RuboCop::Cop::Sorbet::SignatureBuildOrder::ModernBuilder < ::RuboCop::AST::Builder; end
|
833
1251
|
|
834
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#
|
1252
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#34
|
835
1253
|
RuboCop::Cop::Sorbet::SignatureBuildOrder::ORDER = T.let(T.unsafe(nil), Hash)
|
836
1254
|
|
837
|
-
#
|
838
|
-
#
|
839
|
-
# You can subclass it to use the `on_signature` trigger and the `signature?` node matcher.
|
1255
|
+
# Mixin for writing cops for signatures, providing a `signature?` node matcher and an `on_signature` trigger.
|
840
1256
|
#
|
841
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
842
|
-
|
843
|
-
|
1257
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#7
|
1258
|
+
module RuboCop::Cop::Sorbet::SignatureHelp
|
1259
|
+
extend ::RuboCop::AST::NodePattern::Macros
|
1260
|
+
|
1261
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#29
|
844
1262
|
def on_block(node); end
|
845
1263
|
|
846
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
847
|
-
def
|
1264
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#29
|
1265
|
+
def on_numblock(node); end
|
1266
|
+
|
1267
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#35
|
1268
|
+
def on_signature(_node); end
|
848
1269
|
|
849
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
1270
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#11
|
850
1271
|
def signature?(param0 = T.unsafe(nil)); end
|
851
1272
|
|
852
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
1273
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#20
|
853
1274
|
def with_runtime?(param0 = T.unsafe(nil)); end
|
854
1275
|
|
855
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/
|
1276
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#25
|
856
1277
|
def without_runtime?(param0 = T.unsafe(nil)); end
|
857
1278
|
end
|
858
1279
|
|
859
|
-
#
|
1280
|
+
# Ensures empty class/module definitions in RBI files are
|
860
1281
|
# done on a single line rather than being split across multiple lines.
|
861
1282
|
#
|
862
1283
|
# @example
|
@@ -869,29 +1290,25 @@ end
|
|
869
1290
|
# module SomeModule; end
|
870
1291
|
#
|
871
1292
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#17
|
872
|
-
class RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions < ::RuboCop::Cop::
|
873
|
-
|
874
|
-
def autocorrect(node); end
|
1293
|
+
class RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions < ::RuboCop::Cop::Base
|
1294
|
+
extend ::RuboCop::Cop::AutoCorrector
|
875
1295
|
|
876
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#
|
1296
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#22
|
877
1297
|
def on_class(node); end
|
878
1298
|
|
879
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#
|
1299
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#22
|
880
1300
|
def on_module(node); end
|
881
1301
|
|
882
|
-
|
1302
|
+
private
|
883
1303
|
|
884
1304
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#34
|
885
|
-
def
|
886
|
-
|
887
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#38
|
888
|
-
def process_node(node); end
|
1305
|
+
def convert_newlines_to_semicolons(source); end
|
889
1306
|
end
|
890
1307
|
|
891
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#
|
1308
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#20
|
892
1309
|
RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions::MSG = T.let(T.unsafe(nil), String)
|
893
1310
|
|
894
|
-
#
|
1311
|
+
# Makes the Sorbet `strict` sigil mandatory in all files.
|
895
1312
|
#
|
896
1313
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/strict_sigil.rb#10
|
897
1314
|
class RuboCop::Cop::Sorbet::StrictSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
@@ -899,7 +1316,7 @@ class RuboCop::Cop::Sorbet::StrictSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
|
899
1316
|
def minimum_strictness; end
|
900
1317
|
end
|
901
1318
|
|
902
|
-
#
|
1319
|
+
# Makes the Sorbet `strong` sigil mandatory in all files.
|
903
1320
|
#
|
904
1321
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/strong_sigil.rb#10
|
905
1322
|
class RuboCop::Cop::Sorbet::StrongSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
@@ -907,7 +1324,48 @@ class RuboCop::Cop::Sorbet::StrongSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
|
907
1324
|
def minimum_strictness; end
|
908
1325
|
end
|
909
1326
|
|
910
|
-
#
|
1327
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#6
|
1328
|
+
module RuboCop::Cop::Sorbet::TargetSorbetVersion
|
1329
|
+
mixes_in_class_methods ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
|
1330
|
+
|
1331
|
+
# @return [Boolean]
|
1332
|
+
#
|
1333
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#28
|
1334
|
+
def enabled_for_sorbet_static_version?; end
|
1335
|
+
|
1336
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#44
|
1337
|
+
def read_sorbet_static_version_from_bundler_lock_file; end
|
1338
|
+
|
1339
|
+
# @return [Boolean]
|
1340
|
+
#
|
1341
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#24
|
1342
|
+
def sorbet_enabled?; end
|
1343
|
+
|
1344
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#35
|
1345
|
+
def target_sorbet_static_version_from_bundler_lock_file; end
|
1346
|
+
|
1347
|
+
class << self
|
1348
|
+
# @private
|
1349
|
+
#
|
1350
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#8
|
1351
|
+
def included(target); end
|
1352
|
+
end
|
1353
|
+
end
|
1354
|
+
|
1355
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#13
|
1356
|
+
module RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
|
1357
|
+
# Sets the version of the Sorbet static type checker required by this cop
|
1358
|
+
#
|
1359
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#15
|
1360
|
+
def minimum_target_sorbet_static_version(version); end
|
1361
|
+
|
1362
|
+
# @return [Boolean]
|
1363
|
+
#
|
1364
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#19
|
1365
|
+
def supports_target_sorbet_static_version?(version); end
|
1366
|
+
end
|
1367
|
+
|
1368
|
+
# Makes the Sorbet `true` sigil mandatory in all files.
|
911
1369
|
#
|
912
1370
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/true_sigil.rb#10
|
913
1371
|
class RuboCop::Cop::Sorbet::TrueSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
@@ -915,7 +1373,7 @@ class RuboCop::Cop::Sorbet::TrueSigil < ::RuboCop::Cop::Sorbet::HasSigil
|
|
915
1373
|
def minimum_strictness; end
|
916
1374
|
end
|
917
1375
|
|
918
|
-
#
|
1376
|
+
# Ensures all constants used as `T.type_alias` are using CamelCase.
|
919
1377
|
#
|
920
1378
|
# @example
|
921
1379
|
#
|
@@ -926,18 +1384,18 @@ end
|
|
926
1384
|
# FooOrBar = T.type_alias { T.any(Foo, Bar) }
|
927
1385
|
#
|
928
1386
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#17
|
929
|
-
class RuboCop::Cop::Sorbet::TypeAliasName < ::RuboCop::Cop::
|
930
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#20
|
931
|
-
def casgn_type_alias?(param0 = T.unsafe(nil)); end
|
932
|
-
|
1387
|
+
class RuboCop::Cop::Sorbet::TypeAliasName < ::RuboCop::Cop::Base
|
933
1388
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#32
|
934
1389
|
def on_casgn(node); end
|
1390
|
+
|
1391
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#21
|
1392
|
+
def underscored_type_alias?(param0 = T.unsafe(nil)); end
|
935
1393
|
end
|
936
1394
|
|
937
1395
|
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#18
|
938
1396
|
RuboCop::Cop::Sorbet::TypeAliasName::MSG = T.let(T.unsafe(nil), String)
|
939
1397
|
|
940
|
-
#
|
1398
|
+
# Checks that every Ruby file contains a valid Sorbet sigil.
|
941
1399
|
# Adapted from: https://gist.github.com/clarkdave/85aca4e16f33fd52aceb6a0a29936e52
|
942
1400
|
#
|
943
1401
|
# Options:
|
@@ -945,66 +1403,75 @@ RuboCop::Cop::Sorbet::TypeAliasName::MSG = T.let(T.unsafe(nil), String)
|
|
945
1403
|
# * `RequireSigilOnAllFiles`: make offense if the Sorbet typed is not found in the file (default: false)
|
946
1404
|
# * `SuggestedStrictness`: Sorbet strictness level suggested in offense messages (default: 'false')
|
947
1405
|
# * `MinimumStrictness`: If set, make offense if the strictness level in the file is below this one
|
1406
|
+
# * `ExactStrictness`: If set, make offense if the strictness level in the file is different than this one
|
948
1407
|
#
|
949
|
-
# If
|
1408
|
+
# If an `ExactStrictness` level is specified, it will be used in offense messages and autocorrect.
|
1409
|
+
# Otherwise, if a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
|
950
1410
|
#
|
951
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1411
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#20
|
952
1412
|
class RuboCop::Cop::Sorbet::ValidSigil < ::RuboCop::Cop::Cop
|
953
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1413
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#35
|
954
1414
|
def autocorrect(_node); end
|
955
1415
|
|
956
|
-
#
|
1416
|
+
# So we can properly subclass this cop
|
1417
|
+
#
|
1418
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#23
|
957
1419
|
def investigate(processed_source); end
|
958
1420
|
|
959
1421
|
protected
|
960
1422
|
|
961
1423
|
# checks
|
962
1424
|
#
|
963
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1425
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#70
|
964
1426
|
def check_sigil_present(sigil); end
|
965
1427
|
|
966
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1428
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#130
|
967
1429
|
def check_strictness_level(sigil, strictness); end
|
968
1430
|
|
969
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1431
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#108
|
970
1432
|
def check_strictness_not_empty(sigil, strictness); end
|
971
1433
|
|
972
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1434
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#119
|
973
1435
|
def check_strictness_valid(sigil, strictness); end
|
974
1436
|
|
1437
|
+
# Default is `nil`
|
1438
|
+
#
|
1439
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#180
|
1440
|
+
def exact_strictness; end
|
1441
|
+
|
975
1442
|
# extraction
|
976
1443
|
#
|
977
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1444
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#58
|
978
1445
|
def extract_sigil(processed_source); end
|
979
1446
|
|
980
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1447
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#64
|
981
1448
|
def extract_strictness(sigil); end
|
982
1449
|
|
983
1450
|
# Default is `nil`
|
984
1451
|
#
|
985
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1452
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#174
|
986
1453
|
def minimum_strictness; end
|
987
1454
|
|
988
1455
|
# Default is `false`
|
989
1456
|
#
|
990
1457
|
# @return [Boolean]
|
991
1458
|
#
|
992
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1459
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#163
|
993
1460
|
def require_sigil_on_all_files?; end
|
994
1461
|
|
995
1462
|
# Default is `'false'`
|
996
1463
|
#
|
997
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1464
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#168
|
998
1465
|
def suggested_strictness; end
|
999
1466
|
|
1000
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1001
|
-
def suggested_strictness_level
|
1467
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#86
|
1468
|
+
def suggested_strictness_level; end
|
1002
1469
|
end
|
1003
1470
|
|
1004
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1471
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#54
|
1005
1472
|
RuboCop::Cop::Sorbet::ValidSigil::SIGIL_REGEX = T.let(T.unsafe(nil), Regexp)
|
1006
1473
|
|
1007
|
-
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#
|
1474
|
+
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#53
|
1008
1475
|
RuboCop::Cop::Sorbet::ValidSigil::STRICTNESS_LEVELS = T.let(T.unsafe(nil), Array)
|
1009
1476
|
|
1010
1477
|
module RuboCop::Cop::Style; end
|
@@ -1013,16 +1480,16 @@ class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
|
|
1013
1480
|
include ::RuboCop::Cop::Sorbet::MutableConstantSorbetAwareBehaviour
|
1014
1481
|
end
|
1015
1482
|
|
1016
|
-
# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#
|
1483
|
+
# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#4
|
1017
1484
|
module RuboCop::Sorbet; end
|
1018
1485
|
|
1019
|
-
# source://rubocop-sorbet//lib/rubocop/sorbet.rb#
|
1486
|
+
# source://rubocop-sorbet//lib/rubocop/sorbet.rb#12
|
1020
1487
|
RuboCop::Sorbet::CONFIG = T.let(T.unsafe(nil), Hash)
|
1021
1488
|
|
1022
|
-
# source://rubocop-sorbet//lib/rubocop/sorbet.rb#
|
1489
|
+
# source://rubocop-sorbet//lib/rubocop/sorbet.rb#11
|
1023
1490
|
RuboCop::Sorbet::CONFIG_DEFAULT = T.let(T.unsafe(nil), Pathname)
|
1024
1491
|
|
1025
|
-
# source://rubocop-sorbet//lib/rubocop/sorbet.rb#
|
1492
|
+
# source://rubocop-sorbet//lib/rubocop/sorbet.rb#8
|
1026
1493
|
class RuboCop::Sorbet::Error < ::StandardError; end
|
1027
1494
|
|
1028
1495
|
# Because RuboCop doesn't yet support plugins, we have to monkey patch in a
|
@@ -1031,13 +1498,13 @@ class RuboCop::Sorbet::Error < ::StandardError; end
|
|
1031
1498
|
# source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#9
|
1032
1499
|
module RuboCop::Sorbet::Inject
|
1033
1500
|
class << self
|
1034
|
-
# source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#
|
1501
|
+
# source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#11
|
1035
1502
|
def defaults!; end
|
1036
1503
|
end
|
1037
1504
|
end
|
1038
1505
|
|
1039
|
-
# source://rubocop-sorbet//lib/rubocop/sorbet.rb#
|
1506
|
+
# source://rubocop-sorbet//lib/rubocop/sorbet.rb#10
|
1040
1507
|
RuboCop::Sorbet::PROJECT_ROOT = T.let(T.unsafe(nil), Pathname)
|
1041
1508
|
|
1042
|
-
# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#
|
1509
|
+
# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#5
|
1043
1510
|
RuboCop::Sorbet::VERSION = T.let(T.unsafe(nil), String)
|