Class: RuboCop::Cop::Sorbet::CapitalizedTypeParameters
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Sorbet::CapitalizedTypeParameters
show all
- Extended by:
- AutoCorrector
- Includes:
- SignatureHelp
- Defined in:
- lib/rubocop/cop/sorbet/signatures/capitalized_type_parameters.rb
Overview
Ensure type parameters used in generic methods are always capitalized.
Constant Summary
collapse
- MSG =
"Type parameters must be capitalized."
- RESTRICT_ON_SEND =
[:type_parameter].freeze
Instance Method Summary
collapse
#bare_sig?, #on_block, #sig_with_runtime?, #sig_without_runtime?, #signature?
Instance Method Details
#on_csend(node) ⇒ Object
51
52
53
|
# File 'lib/rubocop/cop/sorbet/signatures/capitalized_type_parameters.rb', line 51
def on_csend(node)
check_type_parameters_case(node) if t_type_parameter?(node)
end
|
#on_send(node) ⇒ Object
47
48
49
|
# File 'lib/rubocop/cop/sorbet/signatures/capitalized_type_parameters.rb', line 47
def on_send(node)
check_type_parameters_case(node) if t_type_parameter?(node)
end
|
#on_signature(node) ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/rubocop/cop/sorbet/signatures/capitalized_type_parameters.rb', line 35
def on_signature(node)
send = node.children[2]
while send&.send_type?
if type_parameters?(send)
check_type_parameters_case(send)
end
send = send.children[0]
end
end
|
#t_type_parameter?(node) ⇒ Object
31
32
33
|
# File 'lib/rubocop/cop/sorbet/signatures/capitalized_type_parameters.rb', line 31
def_node_matcher(:t_type_parameter?, <<-PATTERN)
(send (const {nil? | cbase} :T) :type_parameter ...)
PATTERN
|
#type_parameters?(node) ⇒ Object
26
27
28
|
# File 'lib/rubocop/cop/sorbet/signatures/capitalized_type_parameters.rb', line 26
def_node_matcher(:type_parameters?, <<-PATTERN)
(send nil? :type_parameters ...)
PATTERN
|