我正在开发一个 Rails 应用程序。凉爽的。
我还必须将组件开发为 Gem。
基本上,Rails 应用程序使用 Omniauth 来允许来自 OAuth2 服务提供商的身份验证。但是,对于这个特定的服务提供商,不存在任何策略,所以我正在编写一个,并使用我的应用程序对其进行测试(它们需要一起测试)。不幸的是,Omniauth 现在需要将策略打包为 gem,并与 omniauth gem 一起放入 Gemfile。
所以基本上我想把 /my-new-strategy-gem 和策略内容放在我的 /myrailsapp 文件夹中,然后在 /my-new- 里面做 gem "mystrategy" :as => "/myrailsapp" strategy-gem 有一个实际的 gem,带有 gemfile、readme 等。
我在这里问的原因是我之前尝试过这个,Git 无法识别我的主应用程序文件夹中的 /my-new-strategy-gem 文件夹,因为它包含自己的 .git 文件和其他信息。
我听说过将其作为子模块,或者使用供应商文件夹的方法以及其他东西,所以我想知道哪种方法在这种情况下最有效。
编辑:我也想这样做的原因是,我的编码伙伴同时帮助两者,可以一次克隆一个 repo,我们可以稍后重新打包独立的策略 gem。