4

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

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

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

4

2 回答 2

5

在您的 gem 项目中,您需要包含一个“bin”文件夹。此文件夹需要包含作为您的生成器的 ruby​​ 脚本,没有文件扩展名。如果您使用的是珠宝商之类的东西,它会在包装过程中自动扫描 bin 文件夹。安装 gem 后,gem 系统会将 bin 文件夹中的文件放入您的 ruby​​ 安装中,以便您可以按照需要运行它们。

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

于 2010-04-15T21:03:50.907 回答
5

不知道您是否找到了解决方案,但是有一个 Railscast 插曲介绍了如何使用 Thor 制作生成器,就像在 Rails 3 中所做的那样。这应该会有所帮助。Platformatec还有本教程。

我知道您不想制作 Rails 生成器,但是它们工作原理背后的基本思想已经得到很好的解释,我认为这将帮助您走上正轨。

于 2011-01-26T06:36:35.473 回答