class Semver::Comparator

@api private

Public Instance Methods

compare(left:, right:) click to toggle source

@param [Semver::String] left @param [Semver::String] right

# File lib/semver/comparator.rb, line 9
def compare(left:, right:)
  parts(left) <=> parts(right)
end
parts(semver) click to toggle source
# File lib/semver/comparator.rb, line 13
def parts(semver)
  [semver.major, semver.minor, semver.patch] + pre_release(semver)
end
pre_release(semver) click to toggle source
# File lib/semver/comparator.rb, line 17
def pre_release(semver)
  if semver.pre_release
    [-1] + pre_release_identifiers(semver)
  else
    [1]
  end
end
pre_release_identifiers(semver) click to toggle source
# File lib/semver/comparator.rb, line 25
def pre_release_identifiers(semver)
  semver.pre_release.split('.').map { |value| Identifier.new(value) }
end