Class: Dependabot::Conda::UpdateChecker::RequirementTranslator
- Inherits:
-
Object
- Object
- Dependabot::Conda::UpdateChecker::RequirementTranslator
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/conda/update_checker/requirement_translator.rb
Class Method Summary collapse
- .conda_to_pip(conda_requirement) ⇒ Object
- .convert_wildcard_requirement(wildcard_requirement) ⇒ Object
Class Method Details
.conda_to_pip(conda_requirement) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/dependabot/conda/update_checker/requirement_translator.rb', line 14 def self.conda_to_pip(conda_requirement) return nil unless conda_requirement # Handle different conda requirement patterns case conda_requirement when /^=([0-9]+(?:\.[0-9]+)*)\.\*$/ # Handle wildcards: =1.21.* -> >=1.21.0,<1.22.0 convert_wildcard_requirement(conda_requirement) when /^=([0-9]+(?:\.[0-9]+)*)$/ # Handle exact equality: =1.2.3 -> ==1.2.3 conda_requirement.gsub(/^=/, "==") when /^(>=|>|<=|<|!=)(.+)$/ # Handle comparison operators: >=1.2.0 -> >=1.2.0 (no change) conda_requirement when /^([0-9]+(?:\.[0-9]+)*)$/ # Handle bare version: 1.2.3 -> ==1.2.3 "==#{conda_requirement}" else # Handle complex constraints: >=3.8,<3.11 -> >=3.8,<3.11 (no change) conda_requirement end end |
.convert_wildcard_requirement(wildcard_requirement) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/dependabot/conda/update_checker/requirement_translator.rb', line 38 def self.convert_wildcard_requirement(wildcard_requirement) # Extract version pattern: =1.21.* -> 1.21 version_match = wildcard_requirement.match(/^=([0-9]+(?:\.[0-9]+)*)\.\*$/) return wildcard_requirement unless version_match base_version = version_match[1] version_parts = T.must(base_version).split(".") # Calculate next version for upper bound next_version_parts = version_parts.dup next_version_parts[-1] = (next_version_parts[-1].to_i + 1).to_s next_version = next_version_parts.join(".") # Return range: >=1.21.0,<1.22.0 ">=#{base_version}.0,<#{next_version}.0" end |