0

I'm feeling fairly seasoned in Ruby on Rails by now, and have attempted to build my own Rails plugins. Going through that process, however, I realized that I really have not found very many good resources that clearly spell out what the conventions are for creating Rails gems/plugins, and how to efficiently accomplish some of the things that I wanted to do with my plugin.

在我看来,建筑 Rails gems 的文档不是很好,但也许我没有找对地方。为了深入了解其他 gem 的构建方式,我通读了用于用户身份验证的 Devise 插件的一些源代码。我几乎没有发现任何描述类似于 Devise 如何将其自己的方法注入现有模型的过程的过程,尽管这对于许多优秀的 gem 来说似乎是一件非常有用的事情。

我的问题是:我应该去哪里学习如何构建好的 Rails gems?是否有关于如何做某些事情的约定?

4

3 回答 3

2

目前流行的方法是使用Engines来实现您想要实现的目标。引擎基本上允许您将一个应用程序安装到另一个应用程序中,允许您执行任何操作,从添加一两个方法到添加完整的博客。官方指南有一个非常好的入门指南,也有很多不错的非官方指南。一个引擎基本上由一些初始化代码、应用程序代码和一个用于测试和开发的虚拟应用程序组成。乍一看,它可能看起来很吓人,但一开始它比听起来容易得多。祝你好运

于 2012-10-19T06:41:21.463 回答
1

这是使用 Bundler 制作宝石的最现代方法:

bundle gem your_gem
cd your_gem

编辑 your_gem.gemspec 并添加描述、摘要和可选网站。向 Gemfile 添加所需的 gem,例如 rspec。

rspec --init
touch spec/your_gem_spec.rb

编写好的测试。将您的代码添加到 lib/your_gem.rb。当您完成构建并推送到 ruby​​gems.org 的时间时:

gem build your_gem.gemspec
gem push your_gem-0.0.1.gem

就是这样。下次进行更改时,请务必更改 version.rb 中的版本号。

于 2012-10-19T07:35:09.113 回答
0

请参阅下面的链接,该链接将帮助您构建一个好的 Rails gem

制作宝石

于 2012-10-19T06:24:01.410 回答