Class: Dependabot::Bazel::Requirement
- Inherits:
-
Requirement
- Object
- Requirement
- Dependabot::Bazel::Requirement
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/bazel/requirement.rb
Class Method Summary collapse
- .normalize_requirement(requirement_string) ⇒ Object
- .requirements_array(requirement_string) ⇒ Object
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.
41 42 43 44 45 46 47 |
# File 'lib/dependabot/bazel/requirement.rb', line 41 def initialize(*requirements) requirements = requirements.flatten.flat_map do |req_string| T.must(req_string).split(",").map(&:strip) end super(requirements) end |
Class Method Details
.normalize_requirement(requirement_string) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/dependabot/bazel/requirement.rb', line 14 def self.normalize_requirement(requirement_string) return requirement_string if requirement_string.match?(/^[<>=~]/) return "= #{requirement_string}" if requirement_string.match?(/^\d+(\.\d+)*(-[\w\d.]+)?(\+[\w\d.]+)?$/) requirement_string end |
.requirements_array(requirement_string) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/dependabot/bazel/requirement.rb', line 27 def self.requirements_array(requirement_string) return [] if requirement_string.nil? || requirement_string.strip.empty? # Handle comma-separated constraints (e.g., ">= 1.0, < 2.0") constraints = requirement_string.split(",").map do |req_string| normalize_requirement(req_string.strip) end.reject(&:empty?) return [] if constraints.empty? [new(constraints)] end |
Instance Method Details
#satisfied_by?(version) ⇒ Boolean
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/dependabot/bazel/requirement.rb', line 50 def satisfied_by?(version) bazel_version = case version when Dependabot::Bazel::Version version else Dependabot::Bazel::Version.new(version.to_s) end super(bazel_version) rescue ArgumentError false end |