先日RailsのGemのアップデート際に ~> の意味を調べた(恥ずかしながら理解していなかった)ので使い方についてまとめてみました。
結論から言うと、Gemfileで ~> x.y.z のようにバージョンを指定した場合、
>= x.y.z と < x.y+1 との間で最新のバージョンに更新される。
同様に ~> x.y で指定した場合は >= x.y と < x+1.0 との間で最新のバージョンに更新される。
主にマイナーバージョンでの互換性を保ちつつバグフィックスなどを取り込みたい場合に使用するそう。
参考文献