A generalized version number class for Ruby