所以我正在寫一個小寶石,我有一個'/任務'目錄裏面有一些特定的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. 任何人都可以解釋服務setForeground方法嗎?
- 6. 耙子任務可以使用控制器的「創建」方法嗎?
- 7. Rails:日誌耙子任務
- 8. 缺少耙子任務?
- 9. 測試耙子任務
- 10. 添加子任務耙
- 11. 耙中止任務,以
- 12. 任何人都可以解釋OAuth嗎?
- 13. 任何人都可以幫助我嗎?
- 14. 任何人都可以處理它嗎?
- 15. 任何人都可以糾正它嗎?
- 16. 無法獲得每當我運行我的耙子任務
- 17. 在@WebServlet(「你好」)得到錯誤任何人都可以有任何想法嗎?
- 18. 任何人都可以獲得suds soap庫以使用NetSuite WSDL?
- 19. 如何構建一個耙子任務
- 20. 我可以在任何我想要的地方獲得Vaadin通知嗎?
- 21. Rails和Rake任務 - 如何調用一個Rails方法耙子任務文件
- 22. 任何人都可以從C
- 23. 任何人都可以給兩個LRU和LFU的例子嗎?
- 24. 任何人都可以推薦VIN解碼服務嗎?
- 25. 任何人都可以分享我訪問TFS服務器嗎?
- 26. 救援耙任務
- 27. 耙順序任務
- 28. 任何人都知道我可以得到MSBuild社區任務爲dotnet 2.0?或
- 29. 我可以在rails rake任務中獲得Instagram access_token嗎?
- 30. 我可以在KEXT中獲得任務嗎?
只是警告一句話,我無法讓Rails使用這種方法要求帶'.rake`擴展名的`rake`任務。 – 2012-02-01 20:48:52