def check_ruby_syntax(ruby_files)
results = Array.new
ruby_files.each do |f|
entry = Hash.new
Open3.popen3("/usr/bin/env ruby -c #{f}") do |stdin, stdout, stderr|
stdout_data = time_out_readlines(stdout)
stderr_data = time_out_readlines(stderr)
if stdout_data.first !~ /Syntax OK/ || stderr_data.size > 0
warnings, errors = stderr_data.partition {|r| r =~ /: warning:/}
entry[:file_name] = f
entry[:warnings] = warnings
entry[:warning_count] = warnings.size
entry[:errors] = errors
entry[:error_count] = errors.size
results << entry
end
end
end
results
end