0

我正在尝试使用这个 RubyGem:https ://github.com/pengwynn/linkedin

我还将它分叉到我的 github 存储库:https ://github.com/genadinik/linkedin/

它是 LinkedIn API 的包装器。我可以查询它,但它的方法太少了。

这是他们的api:

https://github.com/genadinik/linkedin/blob/134fade9c4940cffad53cfe238ed21a9ad1145ee/lib/linked_in/api/query_methods.rb

我试图了解如何向该 gem API 添加方法,以便添加更多方法。

但我不一定要将我的新方法添加回原始来源。

知道怎么做吗?

谢谢!

4

2 回答 2

0

您想将修改添加到现有的 gem 中吗?

一种方法是将覆盖源添加到您的初始化程序,例如

initializers/linkedin_gem_overrides.rb

这样,您就可以为所欲为。但是,您没有组织测试和赶上未来升级的能力。

另一种方法是,您也可以将您的分叉 git 存储库用于您的 gem 源。

假设您使用捆绑器,请将linkedin gem 行修改为您的

gem 'linkedin', :git => 'git://github.com/genadinik/linkedin.git'

通过这样做,您可以在途中组织 gem 进行测试,但您可能会失去原始 gem 的升级。

我建议如果您对自己的修改感到满意(通过完整的测试!!!),请发送作者拉取请求。一旦作者接受您的更改,您可以简单地删除该行以使用 ruby​​gems.org。

gem 'linkedin'
于 2012-05-11T20:55:59.773 回答
0

好吧,您可以使用 Bundler 直接使用来自 Github 的分叉版本:这是如何操作的。你可以在它上面做更多的开发,因为它在 Github 上,如果你确定你确实有他们可能想要的东西,你可以向源发出拉取请求。如果你不熟悉 Bundler,你应该阅读它:它本质上是一种指定和安装每个项目 gem 依赖项的方法。

于 2012-05-11T20:37:32.027 回答