时间:2010-04-15 11:11:10

标签: ruby rubygems thor

如何设置gem以获得二进制命令,例如“project newProject”使用Thor的一组生成器命令来创建文件等?

一个好的答案将描述如何布置gem的骨架,当从命令行运行时,即“project newProject”,在它运行的目录中创建一个名为“newProject.txt”的文件。

我已经看到Rails 3使用Thor为其发电机供电;似乎是一个非常好的解决方案,我想在我正在研究的非Rails ruby​​ gem中使用类似的方法。试着看Rails 3来源,但它有点迷宫,因此问题。

2 个答案:

答案 0 :(得分:5)

在您的宝石项目中,您需要包含一个“bin”文件夹。此文件夹需要包含作为生成器的ruby脚本,而不包含文件扩展名。如果你使用像珠宝商这样的东西,它会在包装过程中自动扫描bin文件夹。安装gem时,gem系统会将bin文件夹中的文件放入ruby安装中,以便您可以像想要的那样运行它们。

bin文件只是普通的旧ruby脚本,没什么特别的。

答案 1 :(得分:5)

不知道你是否找到了你的解决方案,但是有关如何使用Thor制作生成器的a Railscast episode,如在Rails 3中所做的那样。这应该有所帮助。通过Platformatec还有this tutorial

我意识到你不想制作Rails生成器,但是它们工作方式背后的基本思想得到了很好的解释,我认为这将有助于你走上正轨。