【问题标题】:Where should I start reading to learn how to build a good Rails gem?我应该从哪里开始阅读以了解如何构建一个好的 Rails gem?
【发布时间】:2013-05-26 06:58:44
【问题描述】:

到目前为止,我对 Ruby on Rails 的经验已经相当成熟,并且已经尝试构建自己的 Rails 插件。然而,通过这个过程,我意识到我真的没有找到很多好的资源来清楚地说明创建 Rails gem/插件的约定,以及如何有效地完成我想做的一些事情。插件。

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

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

【问题讨论】:

  • 任何人回答对您有帮助的然后接受该回答

标签: ruby-on-rails ruby ruby-on-rails-3 gem bundler


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这是使用 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 中的版本号。

    【讨论】:

      【解决方案3】:

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

      Making a Gem

      【讨论】:

      • 这是一个很好的开始。但是,我正在寻找有关更复杂的 gem 功能的更深入的指南。
      • 实际上,对于中级以外的任何内容,都没有太多教程 - 您可能必须坚持当前的方法来破坏您感兴趣的开放宝石,偷看里面......
      猜你喜欢
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      相关资源
      最近更新 更多