lib/cc/analyzer/formatters/json_formatter.rb (32 lines of code) (raw):

module CC module Analyzer module Formatters class JSONFormatter < Formatter def initialize(filesystem) @filesystem = filesystem @has_begun = false end def started print "[" end def finished print "]\n" end def write(data) document = JSON.parse(data) document["engine_name"] = current_engine.name if @has_begun print ",\n" end print document.to_json @has_begun = true end def failed(output) $stderr.puts "\nAnalysis failed with the following output:" $stderr.puts output exit 1 end end end end end