Sha256: 6068649217cf41f9a140ba92013574522baa02a9bab1af2634d99dd7346c58b0
Contents?: true
Size: 831 Bytes
Versions: 3
Compression:
Stored size: 831 Bytes
Contents
# encoding: utf-8 require 'open3' module Rubocop module Cop class Syntax < Cop 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, message = process_line(line) add_offence(severity, line_no, message) end end end def process_line(line) line_no, message = line.match(/.+:(\d+): (.+)/).captures if message.start_with?('warning: ') [line_no.to_i, :warning, message.sub(/warning: /, '').capitalize] else [line_no.to_i, :error, message.capitalize] end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rubocop-0.5.0 | lib/rubocop/cop/syntax.rb |
rubocop-0.4.6 | lib/rubocop/cop/syntax.rb |
rubocop-0.4.5 | lib/rubocop/cop/syntax.rb |