@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Gem のバージョンを比較する Gem のメモ

去年 compare_linker という Gem を作り、 RubyKaigi で発表もしたが、作って力尽きてしまった感があった(その後このプロジェクトは masutaka さんが引き取った)。

そもそもやりたかったことは「Gem のバージョンを比較して Diff を読むのを楽にしたい」ということで、そういうのを実現するツールは他にもちらほら見かけてきたもののちゃんと試してなかったな、と思いだして、というか Ruby Weekly にそういうのが一個載ってたので、少し調べた。ので忘れないように(むしろ忘れてもいいように)メモ。

fedora-ruby/gem-compare · GitHub

メタ情報の差分しか表示されず、ソースコードの Diff が読めないのでいまいち。

teeparham/gemdiff · GitHub

これはだいぶやりたかったことに近い。 compare_linker の課題であり解決できていなかった「Gem によって GitHub のリポジトリの URL が gemspec から得られない」という問題をある程度ちゃんと解決しようとしている(結局そういうのは特別扱いしてマッピングルールを自前で持っているようだ)

しかし自分が欲しいけど無い機能もあって、

  • Rubygems.org にない(GitHub のプライベートリポジトリだけにある) Gem には使えない
  • gemdiff compare で得られた GitHub の compare URL を Launchy で直接開いてしまうのでパイプして他のプログラムから再利用できない

このあたりをちょっといじって追加すれば割といい感じになるのでは、と思うが、二つ目はともかく一つ目はそもそものこのツールの狙いとずれていたりして、受け入れられるかは微妙にも思える。

自分にとっては他の機能は不要っちゃ不要なので、 fork して適当にいじって使うでもいいかなとも思う。

あと全然関係ないけど rubysec/bundler-audit · GitHub もなぜか流れで試したりしたのでメモ。