【问题标题】:Build a Plugin or Gem?构建插件或宝石?
【发布时间】:2009-01-13 20:37:44
【问题描述】:

通常,当我知道我将在其他项目中再次需要一个模块时,我会创建一个插件,但是,它们也可以打包为 gem。

我应该何时构建 gem 而不是创建插件?拨打电话有什么标准吗?

【问题讨论】:

    标签: ruby-on-rails plugins gem


    【解决方案1】:

    现在您可以通过 environment.rb 中的“config.gem”语句来管理 gem,插件已经过时了。 Gems 在系统范围内可用(不仅仅是在一个应用程序中),并且与插件不同。

    我最近将我所有的plugins 转换为宝石。 Easy to do 非常值得。

    【讨论】:

    【解决方案2】:

    Rails 似乎正朝着宝石方向发展。我现在已经将我的大部分插件转换为 gems。 Gems 更易于管理并且更适合 Ruby 生态系统。为什么我们仍然需要两个独立的系统?

    但是,gem 仍然存在一个问题:无法从 gem 向 Rails 应用程序添加 rake 任务。发电机可能同样适用,尽管我不确定。如果您在插件中使用这些,则尚无法迁移到 gem。希望这会很快得到解决。

    【讨论】:

      【解决方案3】:

      您可以通过 gem 将生成器添加到 rails。这实际上非常简单,您只需将 rails_generators 目录添加到您的 gem。 (我认为其他目录名称也可以使用——我不确定 rails 搜索的是什么)。例如:http://github.com/remi/rackbox/tree/a21c21667c68d5fd51357e28f0742171e9161e9b/rails_generators

      至于添加 rake 任务...我还没有弄清楚如何做到这一点:/

      现在,我让我的生成器将 require 'myproject/rails/tasks'(或其他内容)添加到项目的 Rakefile 中,作为将 rake 任务从 gem 添加到 rails 的一种方式。

      许多 gem 要求您将它们“引导”到您的 Rails 项目中,例如。 须藤宝石安装黄瓜 cd rails_app ./script/generate cucumber # 将 cucumber 引导到您的应用中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-03
        • 2010-12-14
        • 2016-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多