Method: Gem::Version#canonical_segments

Defined in:
lib/rubygems/version.rb

#canonical_segmentsObject

remove trailing zeros segments before first letter or at the end of the version



391
392
393
394
395
396
397
398
399
400
# File 'lib/rubygems/version.rb', line 391

def canonical_segments
  @canonical_segments ||= begin
    # remove trailing 0 segments, using dot or letter as anchor
    # may leave a trailing dot which will be ignored by partition_segments
    canonical_version = @version.sub(/(?<=[a-zA-Z.])[.0]+\z/, "")
    # remove 0 segments before the first letter in a prerelease version
    canonical_version.sub!(/(?<=\.|\A)[0.]+(?=[a-zA-Z])/, "") if prerelease?
    partition_segments(canonical_version)
  end
end