解决方案

参考代码

require 'rake'
require 'rake/rdoctask'
require 'rake/testtask'
require 'tasks/rails'

def capture_stdout
  s = StringIO.new
  oldstdout = $stdout
  $stdout = s
  yield
  s.string
ensure
  $stdout = oldstdout
end

Rake.application.rake_require '../../lib/tasks/metric_fetcher'
results = capture_stdout {Rake.application['metric_fetcher'].invoke}
如何在Ruby脚本中运行Rake任务?

我有一个带有Rake任务的Rakefile,通常我会从命令行调用它:

rake blog:post Title
日期:2020-03-24 19:48:22 来源:oir作者:oir