我已经阅读了解释Ruby项目理想结构的问答/文章我阅读了关于如何创建ruby gem的rubygems指南。我刚刚读了一篇问答,问一个ruby项目在什么时候变成了ruby gem,但我一生都看不出两者的区别结构似乎是一样的文件,放在哪里,在我看来都是一样的是怎么用的吗?有人能给我解释一下两者的区别吗?
最佳答案
关于“gemify”必须回答的问题是:我写的东西是不是很容易在不同的上下文中重用?如果答案是肯定的,那么你的申请是“双子座”的候选人如果不是,那么一般不值得将Ruby项目转换成GEM的额外复杂性。
例如。如果一个cli ruby应用程序从多个供应商收集抵押贷款利率并更新数据库,那么有两种方法可以将其转换为gem。
首先:您可以对接口/配置进行泛化,并将其作为插件/附加组件/对需要相同或类似功能的人编写的项目的扩展。所以有人可以将这个双子版本添加到他们的项目中,并使用它为他们做一些单调的工作,然后利用结果。这描述了gems最常见的用例。
第二:但是,您也可以将cli项目布局的框架提取到生成器gem中,以便其他人轻松创建自己的cli项目布局。这就是铁轨的由来。