Ruby popen3 и цвет ANSI

Я пытаюсь заставить сторожа запускать тесты автоматически при изменении файлов, и получил большую часть того, что мне нужно, за исключением того факта, что все цвета ANSI из RSpec игнорируются. Оскорбительный код выглядит следующим образом:

stdin, stdout, stderr = Open3.popen3(cmd)
stdout.each_line do |line|
  last_output = line
  puts line
end

Когда cmd равно примерно rspec spec / ** / *. Rb , то приведенный выше код отлично выполняет RSpec, за исключением того, что весь вывод является монохромным. Я рассмотрел использование Kernel.system взамен, однако система не возвращает вывод, который мне нужен, чтобы определить, завершился ли тест / завершился успешно. Как я могу получить вывод в виде сценария, который выполняется из Ruby, включая цвет ANSI, и вывести его на консоль?

6
задан Deduplicator 24 February 2015 в 02:29
поделиться