0

Currently I am writing a Ruby on Rails application, and I am using Gems, however sometimes I feel that Gems are not as flexible as I want them to be. To make them more flexible. Should I

Fork them on github, and customize it, but this still present the challenging of managing everything.

or

Strip and merge the code of the gem to the main application? This will allow further customization of the gem. This would be for situations where a Gem require another Gem's functionality.

or is there a better way of doing this?

Thanks B

4

2 回答 2

2

出于多种原因,选择 A 是更好的答案。

  1. 您可以轻松地合并安全更新、增强功能和错误修复。
  2. 您的更改可能会合并到核心中——事实上,请考虑您是否可以以这样的方式实现它们,因为它们与核心功能一起作为选项存在。如果发生这种情况,您将获得最终的胜利——无需维护,您可以退役您的分叉。
  3. 其他人可以从您的更改中受益。
  4. 通过保持 gem 代码隔离,您的项目占用空间更小且更集中。
  5. 你会有一些东西可以添加到你的 Github“简历”中。
于 2012-07-10T14:45:44.423 回答
0

如果它不是那么受欢迎的宝石或“自行车”,来自以前开始项目的工作室或开发人员(在我的情况下)。
我更喜欢弃用这个 gem 并将代码移动到项目中,例如他们有 c***la-deploy - 它只是 Capistrano 2 的包装器,带有自己的方法))) - 我只是删除它并在最后一个 Capistrano 3 上重写,而
不是拥有自己的“CMS” c***la-cms 用名称“twitter_form_for”包装标准 form_for 或 simple_form ?- 首先我开始尝试查找使用此名称的 gem,而不是在依赖 gem 的...
例如,对于启动使用大量依赖项是不好的,如果它只是简单的网站 - 没关系。

于 2016-12-28T18:40:40.323 回答