From 641ce7ccd826368315de16fcd2d9cd29e82aa0cf Mon Sep 17 00:00:00 2001 From: Brentley Jones Date: Thu, 19 Jul 2018 08:44:46 -0500 Subject: [PATCH] Conform `Version` to `Comparable` --- Sources/ProjectSpec/Version.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Sources/ProjectSpec/Version.swift b/Sources/ProjectSpec/Version.swift index 44974d0e..1440993a 100644 --- a/Sources/ProjectSpec/Version.swift +++ b/Sources/ProjectSpec/Version.swift @@ -1,7 +1,7 @@ import Foundation -public struct Version: CustomStringConvertible, Equatable { - +public struct Version: CustomStringConvertible, Equatable, Comparable { + public var major: UInt public var minor: UInt public var patch: UInt @@ -47,4 +47,10 @@ public struct Version: CustomStringConvertible, Equatable { public func bumpingPatch() -> Version { return Version(major: major, minor: minor, patch: patch + 1) } + + public static func < (lhs: Version, rhs: Version) -> Bool { + guard lhs.major == rhs.major else { return lhs.major < rhs.major } + guard lhs.minor == rhs.minor else { return lhs.minor < rhs.minor } + return lhs.patch < rhs.patch + } }