У меня есть класс, который в настоящее время выполняется через отложенное задание.Одной из задач является выполнение «rake spec» и перенаправление вывода.
Я делаю это так:
class Executor
def execute_command(cmd, &block)
STDOUT.sync = true # That's all it takes...
IO.popen(cmd + " 2>&1") do |pipe| # Redirection is performed using operators
pipe.sync = true
while str = pipe.gets
block.call str # This is synchronous!
end
end
return $?.success?
end
end
Тем не менее, ни один из выходных данных не появляется, и он даже не знает, как правильно выполнить модульные тесты.
Capistrano работает и работает на OSX.У меня на сервере работает Ubuntu Passenger.
У кого-нибудь есть идеи, почему вывод не будет перенаправлен?
Спасибо
Бен