class Dependabot::Uv::Requirement
def convert_exact(req_string)
def convert_exact(req_string) arbitrary_equality = req_string.start_with?("===") cleaned_version = req_string.gsub(/^=+/, "").strip return ["=== #{cleaned_version}"] if arbitrary_equality # Handle versions wildcarded with .*, e.g. 1.0.* if cleaned_version.include?(".*") # Remove all characters after the first .*, and the .* cleaned_version = cleaned_version.split(".*").first version = Version.new(cleaned_version) # Get the release segment parts [major, minor, patch] version_parts = version.release_segment if version_parts.length == 1 major = T.must(version_parts[0]) [">= #{major}.0.0.dev", "< #{major + 1}.0.0"] elsif version_parts.length == 2 major, minor = version_parts "~> #{major}.#{minor}.0.dev" elsif version_parts.length == 3 major, minor, patch = version_parts "~> #{major}.#{minor}.#{patch}.dev" else "= #{cleaned_version}" end else "= #{cleaned_version}" end end