class XSemVer::SemVer
def self.parse_rubygems version_string
def self.parse_rubygems version_string if /v?(?<major>\d+) (\.(?<minor>\d+) (\.(?<patch>\d+) (\.(?<pre>[A-Za-z]+\.[0-9A-Za-z]+) )?)?)? /x =~ version_string major = major.to_i minor = minor.to_i if minor minor ||= 0 patch = patch.to_i if patch patch ||= 0 pre ||= '' SemVer.new major, minor, patch, pre, '' else SemVer.new end end