Class: PmdTester::Semver
- Inherits:
-
Object
- Object
- PmdTester::Semver
- Defined in:
- lib/pmdtester/semver.rb
Overview
Utility to deal with semantic versions
Class Method Summary collapse
Class Method Details
.compare(version_a, version_b) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/pmdtester/semver.rb', line 6 def self.compare(version_a, version_b) PmdTester.logger.debug "Comparing #{version_a} <=> #{version_b}" m = /(\d+)\.(\d+)\.(\d+)(.*)/.match(version_a) a_major = m[1].to_i a_minor = m[2].to_i a_patch = m[3].to_i a_snapshot = m[4] PmdTester.logger.debug " a_major: #{a_major} a_minor: #{a_minor} a_patch: #{a_patch} a_snapshot: #{a_snapshot}" m = /(\d+)\.(\d+)\.(\d+)(.*)/.match(version_b) b_major = m[1].to_i b_minor = m[2].to_i b_patch = m[3].to_i b_snapshot = m[4] PmdTester.logger.debug " b_major: #{b_major} b_minor: #{b_minor} b_patch: #{b_patch} b_snapshot: #{b_snapshot}" return a_major <=> b_major if a_major != b_major return a_minor <=> b_minor if a_minor != b_minor return a_patch <=> b_patch if a_patch != b_patch compare_snapshots(a_snapshot, b_snapshot) end |