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 に変更を加えますか?

1 つの方法は、オーバーライドするソースをイニシャライザに追加することです。たとえば、

initializers/linkedin_gem_overrides.rb

このように、やりたいことは何でもできます。しかし、組織化されたテストや、将来のアップグレードに追いつく能力がありません。

もう 1 つの方法は、フォークした git リポジトリを gem ソースに使用することもできます。

bundler を使用していると仮定して、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 に答える