lib/versionaire/version.rb in versionaire-7.1.0 vs lib/versionaire/version.rb in versionaire-7.2.0
- old
+ new
@@ -5,10 +5,12 @@
VERSION_DELIMITER = "."
# An immutable, semantic version value object.
# rubocop:disable Metrics/BlockLength
Version = Struct.new :major, :minor, :maintenance, keyword_init: true do
+ include Comparable
+
def self.regex
/
\A # Start of string.
\d{1,} # Major version.
#{VERSION_DELIMITER} # Delimiter.
@@ -37,15 +39,21 @@
def - other
klass = self.class
klass.new klass.arguments(*reduce(other, :-))
end
+ def == other
+ hash == other.hash
+ end
+
+ alias_method :eql?, :==
+
def <=> other
to_s <=> other.to_s
end
def to_s
- [major, minor, maintenance].join VERSION_DELIMITER
+ to_a.join VERSION_DELIMITER
end
alias_method :to_str, :to_s
def to_a