class ChefUtils::VersionString

@api internal
@since 13.2
String-like object for version strings.

def !=(other)

Returns:
  • (Boolean) -

Parameters:
  • other (Object) --
def !=(other)
  (self <=> other) != 0
end

def *(other)

Returns:
  • (String) -

Parameters:
  • other (Integer) --
def *(other)
  to_s * other
end

def +(other)

Returns:
  • (String) -

Parameters:
  • other (String) --
def +(other)
  to_s + other
end

def <(other)

Returns:
  • (Boolean) -

Parameters:
  • other (Object) --
def <(other)
  (self <=> other) < 0
end

def <=(other)

Returns:
  • (Boolean) -

Parameters:
  • other (Object) --
def <=(other)
  (self <=> other) < 1
end

def <=>(other)

Returns:
  • (Integer) -

Parameters:
  • other (Object) --
def <=>(other)
  other_ver = case other
              when VersionString
                other.parsed_version
              else
                begin
                  Gem::Version.create(other.to_s)
                rescue ArgumentError
                  # Comparing to a string that isn't a version.
                  return super
                end
              end
  parsed_version <=> other_ver
end

def ==(other)

Returns:
  • (Boolean) -

Parameters:
  • other (Object) --
def ==(other)
  (self <=> other) == 0
end

def =~(other)

Other tags:
    Example: Match against a requirement -
    Example: Match against a Regexp -

Returns:
  • (Boolean) -

Parameters:
  • other (Regexp, String) --
def =~(other)
  case other
  when Regexp
    super
  else
    begin
      Gem::Requirement.create(other) =~ parsed_version
    rescue ArgumentError
      # one side of the comparison wasn't parsable
      super
    end
  end
end

def >(other)

Returns:
  • (Boolean) -

Parameters:
  • other (Object) --
def >(other)
  (self <=> other) > 0
end

def >=(other)

Returns:
  • (Boolean) -

Parameters:
  • other (Object) --
def >=(other)
  (self <=> other) > -1
end

def initialize(val)

Parameters:
  • val (String) -- Version string to parse.
def initialize(val)
  val ||= ""
  super(val)
  begin
    @parsed_version = ::Gem::Version.create(self)
  rescue ArgumentError
    @parsed_version = nil
  end
end

def satisfies?(*constraints)

Other tags:
    Api: - private
def satisfies?(*constraints)
  Gem::Requirement.new(*constraints).satisfied_by?(@parsed_version)
end