是否有可能将rake嵌入到应用程序中?

时间:2011-08-09 18:41:51

标签: ruby-on-rails rake

我的应用程序有一组复杂的依赖项 - 一些信息来自用户输入,一些来自远程站点,通过delayed_job - 可表示为有向非循环图。我已经准备好编写一个简单的依赖机制来遍历图形,但它发生在我身上:Rake已经这样做了,我不应该重新发明轮子。

通常rake在独立的rake文件中获取声明,并从命令行运行。相反,是否可以在库或模型文件中编写声明并从应用程序中运行rake? (为了说清楚:我不会在这里使用rake来执行长时间运行的任务,我只是希望它能够定义和遍历依赖图。)

加载时没有错误:

require 'rake'
class MyClass
  task :clean do
    puts 'cleaning'
  end
end

...但不清楚如何调用它,或在命名空间中创建任务等。

1 个答案:

答案 0 :(得分:0)

视您的环境而定:

来自Rake:

Rake::Task#execute

http://rake.rubyforge.org/classes/Rake/Task.html

来自词语或cmd:

视窗: system('start rake doc:app')

Linux中: system('rake doc:app')

以下是ruby-forum的讨论:

https://www.ruby-forum.com/topic/196210

以下是使用系统调用的相关StackOverflow问题/答案:

http://www.stackoverflow.com/questions/3021805