class RuboCop::Cop::Sorbet::EnforceSignatures
def check_node(node)
def check_node(node) scope = self.scope(node) sig_node = sig_checker.signature_node(scope) rbs_node = rbs_checker.signature_node(node) case signature_style when "rbs" # RBS style - only RBS signatures allowed if sig_node add_offense(sig_node, message: "Use RBS signature comments rather than sig blocks.") return end unless rbs_node add_offense(node, message: "Each method is required to have an RBS signature.") do |corrector| autocorrect_with_signature_type(corrector, node, "rbs") end end when "both" # Both styles allowed - require at least one unless sig_node || rbs_node add_offense(node, message: "Each method is required to have a signature.") do |corrector| autocorrect_with_signature_type(corrector, node, "sig") end end else # "sig" (default) # Sig style - only sig signatures allowed unless sig_node add_offense(node, message: "Each method is required to have a sig block signature.") do |corrector| autocorrect_with_signature_type(corrector, node, "sig") end end end ensure sig_checker.clear_signature(scope) end