# typed: true # frozen_string_literal: true class Version # Represents the absence of a version. NULL = Class.new do include Comparable def <=>(_other) -1 end def eql?(_other) # Makes sure that the same instance of Version::NULL # will never equal itself; normally Comparable#== # will return true for this regardless of the return # value of #<=> false end def detected_from_url? false end def head? false end def null? true end # For OS::Mac::Version compatibility def requires_nehalem_cpu? false end alias_method :requires_sse4?, :requires_nehalem_cpu? alias_method :requires_sse41?, :requires_nehalem_cpu? alias_method :requires_sse42?, :requires_nehalem_cpu? alias_method :requires_popcnt?, :requires_nehalem_cpu? def major NULL_TOKEN end def minor NULL_TOKEN end def patch NULL_TOKEN end def major_minor self end def major_minor_patch self end def to_f Float::NAN end def to_i 0 end def to_s "" end alias_method :to_str, :to_s def inspect "#" end end.new.freeze end