ひびきの技術メモ帳

駆け出しエンジニアのメモ帳

gem内のファイル名が同じだと上書きされるっぽい問題メモ

gem 'pharaoh_lang'を作成する際、 GitHub - kenchasonakai/pharaoh_lang gem 'miyabi'を参考に作らせていただきました。

その際にmiyabi/lib/format.rbのようにpharaoh/lib/format.rbというファイルを作って pharaoh_lang/lib/pharaoh_lang.rbでrequireするように作りました。

rspecで問題なくヒエログリフ変換されることを確認し、リリース。

自分のアプリにインストールし、developmant環境で$ rails specを実行してみたところgem 'miyabi'のメソッドがうまく動いてないよう。

$ rails console"aaa".methodsを実行してみるとformat.rbに書かれていたメソッドが上書きされて消えているよう。

gem 'miyabi'の他のファイルlib/check.rbに書かれていたものは残っていたのでファイル名が同じものだけ上書きされるっぽい。

gem 'pharaoh_lang'lib/format.rblib/format-hieroglyph.rbに変更してバージョンを変更しプッシュ。

自分のアプリでバージョンを0.1.1に指定してbundle installして$ rails specをしてみると上書きされてないっぽい。 以後気をつけます。

gemの作り方、バージョンアップ方法、意外なはまりどころがわかってお勉強になりました。