Module: Friends::SemVerComparator

Defined in:
lib/friends/sem_ver_comparator.rb

Constant Summary collapse

SEPARATOR =
"."
NUMBER_REGEX =
/\d+/.freeze

Class Method Summary collapse

Class Method Details

.greater?(version_a, version_b) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
14
15
16
17
18
# File 'lib/friends/sem_ver_comparator.rb', line 8

def self.greater?(version_a, version_b)
  version_a.split(SEPARATOR).zip(version_b.split(SEPARATOR)) do |a, b|
    a_num = a&.[](NUMBER_REGEX)&.to_i
    b_num = b&.[](NUMBER_REGEX)&.to_i
    return false if a_num.nil?
    return true if b_num.nil? || a_num > b_num
    return false if a_num < b_num
  end

  false
end