protected function parseLinterOutput($output) { $json = json_decode($output, true); $files = $json['files']; $severityMap = array(); $severityMap['refactor'] = 'warning'; $severityMap['convention'] = 'warning'; $severityMap['warning'] = 'warning'; $severityMap['error'] = 'error'; $severityMap['fatal'] = 'error'; $messages = array(); foreach ($files as $file) { foreach ($file['offenses'] as $offense) { $message = new ArcanistLintMessage(); $message->setPath($file['path']); $message->setLine($offense['location']['line']); $message->setChar($offense['location']['column']); $message->setCode('RUBY'); $message->setName($offense['cop_name']); $message->setDescription($offense['message']); $message->setseverity('error'); $messages[] = $message; } } return $messages; }