0

我正在开发一个 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。

4

1 回答 1

1

您可以使用该:git属性指向您的 gem 的 git 存储库。

http://gembundler.com/git.html

gem "my_strategy", :git => "git://github.com/rcd/my_strategy.git"

我相信您也可以在本地而不是在 github 上执行此操作。

于 2012-06-15T16:07:06.480 回答