ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

インストールしたgemのありかを暴く

自室でネットにアクセスできるのは貧弱な3G回線のみという暮らしももう少しで終わりを告げますが、こういうときに限ってgemの中身を見たいときがあります。この前の1文のように、それは唐突に。

話が長いので先に答え

環境に直接突っ込まれてるgemなら

gem which devise

Bundlerでgemを管理しているプロジェクトなら

bundle show rails

あとはとりとめのないながいおはなし

マイナーなやつではないたいていのgemはGitHubなんかにリポジトリがあって、そこでコードを見ることができるのですが、今の私にはそれは難しいです。そのためだけにわざわざ寒空のもと最寄り駅までパソコンを提げて行くのもアレですし、軽装で出かけて鍵を閉じこめてしまった*1日には後悔しかしないことでしょう。
さいわいgemはネイティブコンパイルしてない部分はバイナリになっていませんし、ライブラリ自体も圧縮されていません。つまり、一部のものを除いて、どこにgemがあるかわかればわざわざGitHubとかにソースを見に行く必要はないわけです(((o(*゚▽゚*)o)))
さいわい、今回見たかったdeviseはネイティブ部分はありませんし、コードを直に見ることができました。そのコマンドがこちら。
環境に直接突っ込まれてるgemなら

gem which devise

Bundlerでgemを管理しているプロジェクトなら

bundle show devise

これでgemがどこにあるかわかるので、そこからたどればgemのソースコードが見れます。(・∀・)イイネ!!

*1:玄関レベルのオートロックなので助かる可能性は微妙にある