Ruby 项目 VS Ruby Gem
Ruby Project VS Ruby Gem
我已经通读了 Q&A/articles,其中解释了 Ruby 项目的理想结构。我阅读了有关如何创建 Ruby gem 的 RubyGems 指南。我刚刚阅读了一个问答,询问 ruby 项目在什么时候变成了 ruby gem,但我终究无法看出两者之间的区别。结构似乎是一样的。这些文件,无论它们放在哪里,在我看来一切都一样。它们是如何使用的?谁能给我解释一下两者的区别吗?
关于是否 'Gemify' 必须回答的问题是:我写的东西是否可以在不同的上下文中轻松重用?如果答案是肯定的,那么您的申请是 'Gemification' 的候选人。如果不是,那么通常不值得将 Ruby 项目转换为 Gem.
的额外复杂性
例如。如果一个 CLI Ruby 应用程序从多个供应商收集抵押贷款利率并更新数据库,那么有两种方法可以将其转换为 gem。
首先:您可以概括 interface/configuration 并将其作为 plugin/add-on/extension 用于由需要相同或相似功能的人编写的项目。因此,有人可以将 gem 化版本添加到他们的项目中,并使用它来为他们完成繁重的工作,然后只使用结果。这描述了 gem 的最常见用例。
其次:但是,您也可以将 CLI 项目布局的框架提取到生成器中 gem,以便其他人轻松创建自己的 CLI 项目布局。这就是 Rails 的由来。
我已经通读了 Q&A/articles,其中解释了 Ruby 项目的理想结构。我阅读了有关如何创建 Ruby gem 的 RubyGems 指南。我刚刚阅读了一个问答,询问 ruby 项目在什么时候变成了 ruby gem,但我终究无法看出两者之间的区别。结构似乎是一样的。这些文件,无论它们放在哪里,在我看来一切都一样。它们是如何使用的?谁能给我解释一下两者的区别吗?
关于是否 'Gemify' 必须回答的问题是:我写的东西是否可以在不同的上下文中轻松重用?如果答案是肯定的,那么您的申请是 'Gemification' 的候选人。如果不是,那么通常不值得将 Ruby 项目转换为 Gem.
的额外复杂性例如。如果一个 CLI Ruby 应用程序从多个供应商收集抵押贷款利率并更新数据库,那么有两种方法可以将其转换为 gem。
首先:您可以概括 interface/configuration 并将其作为 plugin/add-on/extension 用于由需要相同或相似功能的人编写的项目。因此,有人可以将 gem 化版本添加到他们的项目中,并使用它来为他们完成繁重的工作,然后只使用结果。这描述了 gem 的最常见用例。
其次:但是,您也可以将 CLI 项目布局的框架提取到生成器中 gem,以便其他人轻松创建自己的 CLI 项目布局。这就是 Rails 的由来。