2011-08-29 40 views
2

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

回答

4

既然你问的最佳实践,看看这本书:Ruby Best Practices。第234-237页谈到了Rake文件。

意译,它提高了任务的可发现在你的项目中,以便用户不熟悉它可以迅速开始做的有益的事情。

一个好的做法是添加说明()字符串为您的Rake任务,使rake -- tasks提供有意义的输出。

,我已经亲自用于RAKE一些应用程序:

  1. 测试运行
  2. 宝石包装
  3. 文档生成

其他例子包括自动发布代码/文档更新到RubyForge的基本上,几乎所有可以在命令行中完成的任何事情都可以在Rake中完成,而您的想象力是极限。

1

耙可以用于任何类型的批处理命令的,大多数人使用的东西像设置,安装,运行,清洗,或其他应用程序相关的动作。

+1

只是后续 - 直接使用rake直接调用ruby文件有什么好处? – Matty

+0

你可以做任何一个。作为一个任务库的DSL的耙子有一对免费的小精灵。 – yfeldblum

3

回答你的跟帖问题在Chads answer

只需随访 - 什么是优势,使用耙子在调用直接翻译一个 红宝石文件?

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

我经常用这样的:

require 'rake' 

# 
# Your task definitions 
# 

task :default => :mytask 



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

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