def next(bump_type=nil)
      bump_type ||= :patch
      bump_index = PARTS.index(bump_type.to_sym)

      # 0.2.1 - > 0.2
      bumped_parts = parts.take(bump_index + 1)
      # 0.2 - > 0.3
      bumped_parts[bump_index] = bumped_parts[bump_index].to_i + 1
      # 0.3 - > 0.3.0.0
      bumped_parts += [0]*(PARTS.length - (bump_index + 1))
      self.class.new(bumped_parts.join('.'))
    end
def next(bump_type=nil)
      bump_type ||= :patch
      bump_index = PARTS.index(bump_type.to_sym)

      # 0.2.1 - > 0.2
      bumped_parts = parts.take(bump_index + 1)
      # 0.2 - > 0.3
      bumped_parts[bump_index] = bumped_parts[bump_index].to_i + 1
      # 0.3 - > 0.3.0.0
      bumped_parts += [0]*(PARTS.length - (bump_index + 1))
      self.class.new(bumped_parts.join('.'))
    end
Builds a new version, wiht a version number incremented from this
 object's version. Does not propogate any other attributes
 @option bump_type [Symbol] :build Bump the build version
 @option bump_type [Symbol] :patch Bump the patch version, set build to 0
 @option bump_type [Symbol] :minor Bump the minor version, set patch and build to 0
 @option bump_type [Symbol] :major Bump the major version, set minor, patch, and build to 0
 @option bump_type [nil] nil Default, bumps patch, sets build to 0
 @return [Version]