怎么为Rails应用程序构建ruby gem?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

作为一名Rails开发人员,我觉得这个问题有点愚蠢,但希望我能学到新的东西。在我的Rails应用程序中,我始终使用(其他人)的gem。

我真的不知道如何去为我的rails应用程序制作gem

提问于
用户回答回答于

为了避免过度工程的风险,我通常从我需要直接进入应用程序的功能开始。然后,只要我需要在另一个项目中使用相同的功能,我会检查是否值得将其提取到插件或提供API的单独应用程序中。

插件和gem经常是可以互换的。gem在可重用性和可维护性方面提供了几个重要的优势。另一方面,还有一些具体的已知问题。例如,Rails应用程序实际上无法加载定义到打包为Gem的插件中的rake任务。

几乎每个Rails插件都可以打包成一个Gem。例如,tabs_on_rails插件。

可以将其安装为指定依赖于environment.rb的Gem。或者你可以script/plugin install像你期望的那样使用命令。

如果你想达到相同的结果,请确保遵循标准的Gem布局,并提供init.rbRails所需的初始化脚本。另外,当插件作为标准Rails插件安装时,需要创建一个install.rbuninstall.rb文件以包含安装后和卸载后的挂钩。

最后但并非最不重要的一点是,如果将插件打包为Gem,则可以在非Rails项目中重用它,并使用该init.rb文件提供Rails特定的初始化。非Rails应用程序将简单地忽略它。

扫码关注云+社区