Class: Semver::Comparator Private

Inherits:
Object
  • Object
show all
Defined in:
lib/semver/comparator.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Instance Method Summary collapse

Instance Method Details

#compare(left:, right:) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:



9
10
11
# File 'lib/semver/comparator.rb', line 9

def compare(left:, right:)
  parts(left) <=> parts(right)
end

#parts(semver) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



13
14
15
# File 'lib/semver/comparator.rb', line 13

def parts(semver)
  [semver.major, semver.minor, semver.patch] + pre_release(semver)
end

#pre_release(semver) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



17
18
19
20
21
22
23
# 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) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



25
26
27
# File 'lib/semver/comparator.rb', line 25

def pre_release_identifiers(semver)
  semver.pre_release.split('.').map { |value| Identifier.new(value) }
end