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.rb
をlib/format-hieroglyph.rb
に変更してバージョンを変更しプッシュ。
自分のアプリでバージョンを0.1.1
に指定してbundle install
して$ rails spec
をしてみると上書きされてないっぽい。
以後気をつけます。
gemの作り方、バージョンアップ方法、意外なはまりどころがわかってお勉強になりました。