Class: Rubocop::Cop::Syntax
Instance Attribute Summary
Attributes inherited from Cop
Instance Method Summary collapse
Methods inherited from Cop
#add_offence, #has_report?, inherited, #initialize
Constructor Details
This class inherits a constructor from Rubocop::Cop::Cop
Instance Method Details
#inspect(file, source, tokens, sexp) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/rubocop/cop/syntax.rb', line 8 def inspect(file, source, tokens, sexp) _, stderr, _ = Open3.capture3('ruby -wc', stdin_data: source.join("\n")) stderr.each_line do |line| # discard lines that are not containing relevant info if line =~ /.+:(\d+): (.+)/ line_no, severity, = process_line(line) add_offence(severity, line_no, ) end end end |
#process_line(line) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/rubocop/cop/syntax.rb', line 21 def process_line(line) line_no, = line.match(/.+:(\d+): (.+)/).captures if .start_with?('warning: ') [line_no.to_i, :warning, .sub(/warning: /, '').capitalize] else [line_no.to_i, :error, .capitalize] end end |