如何在Ruby脚本中运行Rake任务?
时间:2020-03-05 18:38:03 来源:igfitidea点击:
我有一个带有Rake任务的Rakefile
,通常我会从命令行调用它:
rake blog:post Title
我想编写一个多次调用Rake任务的Ruby脚本,但是我看到的唯一解决方案是使用``(反引号)或者system
。
什么是正确的方法?
解决方案
回答
来自timocracy.com:
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}