class Gem::Requirement
A Requirement is a set of one or more version restrictions. It supports a few (=, !=, >, <, >=, <=, ~>) different restriction operators.
See Gem::Version for a description on how versions and requirements work together in RubyGems.
Constants
- DefaultPrereleaseRequirement
-
The default requirement matches any version
- DefaultRequirement
-
The default requirement matches any non-prerelease version
- PATTERN
-
A regular expression that matches a requirement
Public Class Methods
(*String | Gem::Version | Gem::Requirement | nil inputs) → instance
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 43
def self.create: (*String | Gem::Version | Gem::Requirement | nil inputs) -> instance
Factory method to create a Gem::Requirement object. Input may be a Version, a String, or nil. Intended to simplify client code.
If the input is “weird”, the default version requirement is returned.
() → instance
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 50
def self.default: () -> instance
() → instance
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 57
def self.default_prerelease: () -> instance
(*String | Gem::Version requirements) → void
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 83
def initialize: (*String | Gem::Version requirements) -> void
Constructs a requirement from requirements. Requirements can be Strings, Gem::Versions, or Arrays of those. nil and duplicate requirements are ignored. An empty set of requirements is the same as ">= 0".
(String | Gem::Version obj) → [ operator, Gem::Version ]
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 73
def self.parse: (String | Gem::Version obj) -> [ operator, Gem::Version ]
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".
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")]
Public Instance Methods
(Array[String | Gem::Version] new) → void
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 91
def concat: (Array[String | Gem::Version] new) -> void
Concatenates the new requirements onto this requirement.
() → bool
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 99
def exact?: () -> bool
true if the requirement is for only an exact version
() → bool
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 107
def none?: () -> bool
true if this gem has no requirements.
() → bool
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 116
def prerelease?: () -> bool
A requirement is a prerelease if any of the versions inside of it are prereleases
(Gem::Version version) → bool
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 124
def satisfied_by?: (Gem::Version version) -> bool
True if version satisfies this Requirement.
() → bool
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rubygems/requirement.rbs, line 146
def specific?: () -> bool
True if the requirement will not always match the latest version.