Я пытаюсь заставить сторожа запускать тесты автоматически при изменении файлов, и получил большую часть того, что мне нужно, за исключением того факта, что все цвета 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, и вывести его на консоль?