Class: Dependabot::Utils::Dotnet::Requirement
- Inherits:
-
Gem::Requirement
- Object
- Gem::Requirement
- Dependabot::Utils::Dotnet::Requirement
- Defined in:
- lib/dependabot/utils/dotnet/requirement.rb
Class Method Summary collapse
- .parse(obj) ⇒ Object
-
.requirements_array(requirement_string) ⇒ Object
For consistency with other langauges, we define a requirements array.
Instance Method Summary collapse
-
#initialize(*requirements) ⇒ Requirement
constructor
A new instance of Requirement.
- #satisfied_by?(version) ⇒ Boolean
Constructor Details
#initialize(*requirements) ⇒ Requirement
Returns a new instance of Requirement.
33 34 35 36 37 38 39 |
# File 'lib/dependabot/utils/dotnet/requirement.rb', line 33 def initialize(*requirements) requirements = requirements.flatten.flat_map do |req_string| convert_dotnet_constraint_to_ruby_constraint(req_string) end super(requirements) end |
Class Method Details
.parse(obj) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/dependabot/utils/dotnet/requirement.rb', line 11 def self.parse(obj) if obj.is_a?(Gem::Version) return ["=", Utils::Dotnet::Version.new(obj.to_s)] end unless (matches = PATTERN.match(obj.to_s)) msg = "Illformed requirement [#{obj.inspect}]" raise BadRequirementError, msg end return DefaultRequirement if matches[1] == ">=" && matches[2] == "0" [matches[1] || "=", Utils::Dotnet::Version.new(matches[2])] end |
.requirements_array(requirement_string) ⇒ Object
For consistency with other langauges, we define a requirements array. Dotnet doesn’t have an ‘OR` separator for requirements, so it always contains a single element.
29 30 31 |
# File 'lib/dependabot/utils/dotnet/requirement.rb', line 29 def self.requirements_array(requirement_string) [new(requirement_string)] end |
Instance Method Details
#satisfied_by?(version) ⇒ Boolean
41 42 43 44 |
# File 'lib/dependabot/utils/dotnet/requirement.rb', line 41 def satisfied_by?(version) version = Utils::Dotnet::Version.new(version.to_s) super end |