I don't really know Ruby, what is the to_s doing in
parts = version_string.to_s.split(”.”).map(&:to_i)
Is it to_string? Isn't version_string already a string?