通常,当我知道我将在其他项目中再次需要一个模块时,我会创建一个插件,但是,它们也可以打包为 gem。
我应该什么时候构建一个 gem 而不是创建一个插件?拨打电话有任何标准吗?
通常,当我知道我将在其他项目中再次需要一个模块时,我会创建一个插件,但是,它们也可以打包为 gem。
我应该什么时候构建一个 gem 而不是创建一个插件?拨打电话有任何标准吗?
Rails 似乎正在朝着 gem 方向发展。我现在已经将我的大部分插件转换为 gems。Gems 更易于管理并且更适合 Ruby 生态系统。为什么我们仍然需要两个独立的系统?
然而,gem 仍然存在一个问题:无法从 gem 向 Rails 应用程序添加 rake 任务。发电机可能同样适用,尽管我不确定。如果您在插件中使用这些,则尚无法迁移到 gem。希望这很快得到解决。
您可以通过 gems 将生成器添加到 rails。这实际上非常简单,您只需将 rails_generators 目录添加到您的 gem。(我认为其他目录名称也可以使用——我不确定 rails 搜索的是什么)。示例:http: //github.com/remi/rackbox/tree/a21c21667c68d5fd51357e28f0742171e9161e9b/rails_generators
至于添加 rake 任务......我还没有弄清楚如何做到这一点:/
现在,我让我的生成器添加require 'myproject/rails/tasks'
(或其他东西)到项目的 Rakefile 中,作为将 rake 任务从 gem 添加到 rails 的一种方式。
许多宝石要求您将它们“引导”到您的 Rails 项目中,例如。sudo gem install cucumber cd rails_app ./script/generate cucumber # bootstrap cucumber into your app