2010-04-15 41 views
4

如何設置gem以獲得二進制命令,例如「項目newProject」使用Thor的一組生成器命令來創建文件等。在雷寶石中使用Thor作爲發電機

一個很好的答案將描述如何佈置一個gem的框架,當它從命令行運行時,即「project newProject」,在它運行的目錄中創建一個名爲「newProject.txt」的文件。

我已經看到Rails 3正在使用Thor來爲其發電機供電;似乎是一個非常好的解決方案,我想在我正在開發的非Rails ruby​​ Gem中使用類似的方法。試圖看看Rails 3源,但它有點迷宮,因此是一個問題。

+0

只是要清楚我不是在尋找關於如何製作寶石盒的信息 - 我特別想讓Rails3像使用雷神的發生器 – 2010-04-16 13:56:17

回答

5

在你的寶石項目中,你需要包含一個「bin」文件夾。這個文件夾需要包含你的生成器的ruby腳本,沒有文件擴展名。如果您使用珠寶商之類的東西,它會在打包過程中自動掃描bin文件夾。當安裝gem時,gem系統會將bin文件夾中的文件放入ruby安裝中,以便您可以像運行一樣運行它們。

bin文件只是普通的老紅寶石腳本,沒什麼特別的。

5

不知道你是否找到你的解決方案,但有a Railscast episode關於如何使用Thor生成使用Thor的生成器,這應該有所幫助。還有通過Platformatec的this tutorial

我意識到你不想讓Rails生成器,但他們工作背後的基本思想很好解釋,我認爲這將幫助你走上正確的軌道。