我有一个Rakefile
和一个Rake任务,我通常会从命令行调用它:
rake blog:post Title
我想编写一个Ruby脚本,多次调用该Rake任务,但我看到的唯一解决方案是使用`(backticks)或system
来完成.
正确的方法是什么?
我有一个Rakefile
和一个Rake任务,我通常会从命令行调用它:
rake blog:post Title
我想编写一个Ruby脚本,多次调用该Rake任务,但我看到的唯一解决方案是使用`(backticks)或system
来完成.
正确的方法是什么?
从timocracy.com开始:
require 'rake'
def capture_stdout
s = StringIO.new
oldstdout = $stdout
$stdout = s
yield
s.string
ensure
$stdout = oldstdout
end
Rake.application.rake_require 'metric_fetcher', ['../../lib/tasks']
results = capture_stdout {Rake.application['metric_fetcher'].invoke}