什么可以使用rakefiles?

时间:2011-08-29 18:26:16

标签: ruby-on-rails ruby rake rakefile

我理解rake命令的实用程序,但是Rakefile中通常定义了哪些自定义操作?我是新手,并试图找出何时使用此功能。我已经发现了很多关于如何使用它的信息,但对“最佳实践”并不多。

3 个答案:

答案 0 :(得分:4)

由于您要求最佳做法,请查看此书:Ruby Best Practices。第234-237页讨论了Rake文件。

为了解释,它增强了项目中任务的可发现性,以便不熟悉它的用户可以快速开始做有用的事情。

一个好的做法是为你的Rake任务添加desc()字符串,以便rake -- tasks提供有意义的输出。

我个人使用的Rake的一些应用程序:

  1. 测试运行
  2. 宝石包装
  3. 文档生成
  4. 其他示例包括自动向Rubyforge发布代码/文档更新等。基本上,几乎任何可以在命令行完成的事情都可以在Rake中完成,您的想象力是极限。

答案 1 :(得分:3)

Chads answer中回答你的后续问题:

  

只是一个跟进 - 使用rake而不是调用a有什么好处   ruby文件直接与口译员?

您可以使用rake作为定义命令行选项的方法。

我经常这样使用它:

require 'rake'  

#
# Your task definitions
#

task :default => :mytask



if $0 == __FILE__
  app = Rake.application
  app[:default].invoke
end

如果我执行脚本,我的默认任务正在运行。但我也可以通过命令行上的rake启动它。

答案 2 :(得分:1)

Rake可用于任何类型的批处理命令,大多数人使用诸如设置,安装,运行,清理或其他与应用程序相关的操作。