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