所以我正在写一个小宝石,我有一个'/任务'目录里面有一些特定的rake任务。我如何使这些任务自动地在任何需要宝石的地方使用?例如,我希望在安装好gem之后,我可以在rails根目录下运行'rake mygemrake:task'。从任何地方都可以获得耙子任务吗?
32
A
回答
2
查看rdoctask的耙子,了解如何定义由宝石提供的任务的示例。任务是红宝石,而不是Rake构建语言来定义,可以根据需要,像这样:
require 'rake' # the gem
require 'rake/rdoctask' # the task
0
这就是Sake是。 Datamapper和Merb已经成功地使用了Sake。
0
您必须在应用程序的Rakefile中导入这些任务。这是它的外观在我(我使用bundler08来管理我的宝石):
%w(gem1 gem2 gem3).each do |g|
Dir[File.dirname(__FILE__) + "/vendor/bundler_gems/**/#{g}*/tasks/*.rake"].each do |f|
import f
end
end
23
对于Rails3中的应用程序,你可能要考虑作出Railtie你的宝石。
你可以这样做有:
的lib/your_gem/railtie.rb
require 'your_gem'
require 'rails'
module YourGem
class Railtie < Rails::Railtie
rake_tasks do
require 'path/to/rake.task'
end
end
end
的lib/your_gem.rb
虽然,我有我的份额在我的railtie.rb
中要求rake.task
文件时遇到困难。我选择在rake_tasks
区块内定义我的measley一个或两个任务。
0
相关问题
- 1. 从运行耙子任务
- 2. 我可以在生成器中运行耙子任务吗?
- 3. 任何时候都可以启动相同的任务吗?
- 4. 任何人都可以协助完成这项任务吗?
- 5. 耙子任务可以使用控制器的“创建”方法吗?
- 6. 任何人都可以解释服务setForeground方法吗?
- 7. 测试耙子任务
- 8. Rails:日志耙子任务
- 9. 缺少耙子任务?
- 10. 我可以从任何地方获取地形数据以用于模拟吗?
- 11. 任何人都可以帮助我吗?
- 12. 任何人都可以解释OAuth吗?
- 13. 任何人都可以纠正它吗?
- 14. 如何构建一个耙子任务
- 15. 任何人都可以获得suds soap库以使用NetSuite WSDL?
- 16. 在@WebServlet(“你好”)得到错误任何人都可以有任何想法吗?
- 17. 任何人都可以给两个LRU和LFU的例子吗?
- 18. 救援耙任务
- 19. 耙顺序任务
- 20. 任何人都可以推荐VIN解码服务吗?
- 21. 任何人都知道我可以得到MSBuild社区任务为dotnet 2.0?或
- 22. 我可以在rails rake任务中获得Instagram access_token吗?
- 23. 任何人都可以轻松获取$ _COOKIE数据吗?
- 24. 任何人都可以获得MacPorts的Mercurial包来使用MercurialEclipse插件吗?
- 25. 任何人都可以解释我这个javax swing方法吗?
- 26. mysqli:任何地方都可以找到errnos
- 27. 使头文件比任何地方都可以使用iPhone
- 28. 任何地方都可以下载Repo脚本
- 29. 包括宝石中的耙子任务
- 30. 使用表格运行耙子任务
只是警告一句话,我无法让Rails使用这种方法要求带'.rake`扩展名的`rake`任务。 – 2012-02-01 20:48:52