Railsで文字列のバージョンを比較する

StringのVersion情報 "2.1.1""2.2.0" などと比較したい

Gem::Version を使うことで比較できる

p "1.9" < "1.10" # => false
p Gem::Version.new("1.9") < Gem::Version.new("1.10") # => true

文字列にも対応。便利。

"1.1.beta9" と "1.1.beta10" では、"beta9" と "beta10" の部分だけが違いますが、アルファベット部分と数字部分が分割され、数字部分は整数の大小比較になるため、後者のほうが大きいと判定されます。

docs.ruby-lang.org