目前我正在编写一个Ruby on Rails应用程序,我正在使用Gems,但有时候我觉得Gems并不像我想要的那样灵活。使它们更灵活。我应该
将它们放在github上并进行自定义,但这仍然是管理所有内容的挑战。
或
剥离并将gem的代码合并到主应用程序中?这将允许进一步定制宝石。这适用于Gem需要另一个Gem功能的情况。
还是有更好的方法吗?
由于 乙
答案 0 :(得分:2)
出于多种原因,选择A是更好的答案。
答案 1 :(得分:0)
如果它不是那么受欢迎的宝石或“自行车”来自一些以前的工作室或开发项目的开发人员(在我的情况下)。
我更喜欢弃用这个gem并将代码移入项目中,
例如,他们有c *** la-deploy - 它只是用自己的方法包装到Capistrano 2))) - 我只是删除它并重写最后Capistrano 3
有没有自己的“CMS”c *** la-cms,它们包装标准的form_for或simple_form,名称为“twitter_form_for”? - 我开始尝试找到使用此名称的宝石,然后在依赖宝石中查找...
它需要花费大量时间让新开发人员参与项目 - 更好地转向标准的rails方法/ heplers
但无论如何,我理解这个工作室是做什么的 - 它只是供应商锁定,而且客户更难以从他们转移到另一个开发人员。
例如,对于启动来说,使用很多依赖项是不好的,如果它只是简单的网站 - 无所谓。