End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
class method
Gem::Requirement.parse
parse(obj)
lib/rubygems/requirement.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.0.5/lib/rubygems/requirement.rb, line 102
def self.parse(obj)
return ["=", obj] if Gem::Version === obj
unless PATTERN =~ obj.to_s
raise BadRequirementError, "Illformed requirement [#{obj.inspect}]"
end
if $1 == ">=" && $2 == "0"
DefaultRequirement
elsif $1 == ">=" && $2 == "0.a"
DefaultPrereleaseRequirement
else
[-($1 || "="), Gem::Version.new($2)]
end
end
Parse obj, returning an [op, version] pair. obj can be a String or a Gem::Version.
If obj is a String, it can be either a full requirement specification, like ">= 1.2", or a simple version number, like "1.2".
Example
parse("> 1.0") # => [">", Gem::Version.new("1.0")] parse("1.0") # => ["=", Gem::Version.new("1.0")] parse(Gem::Version.new("1.0")) # => ["=, Gem::Version.new("1.0")]