class RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions
This cop ensures empty class/module definitions in RBI files are done on a single line rather than being split across multiple lines.
@example
# bad module SomeModule end # good module SomeModule; end
Constants
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb, line 28 def autocorrect(node) -> (corrector) { corrector.replace(node, convert_newlines(node.source)) } end
on_class(node)
click to toggle source
# File lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb, line 24 def on_class(node) process_node(node) end
on_module(node)
click to toggle source
# File lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb, line 20 def on_module(node) process_node(node) end
Protected Instance Methods
convert_newlines(source)
click to toggle source
# File lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb, line 34 def convert_newlines(source) source.sub(/[\r\n]+\s*[\r\n]*/, "; ") end
process_node(node)
click to toggle source
# File lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb, line 38 def process_node(node) return if node.body return if node.single_line? add_offense(node) end