class Dependabot::Uv::UpdateChecker::RequirementsUpdater
def update_pyproject_version(req)
def update_pyproject_version(req) requirement_strings = req[:requirement].split(",").map(&:strip) new_requirement = if requirement_strings.any? { |r| r.match?(/^=|^\d/) } # If there is an equality operator, just update that. It must # be binding and any other requirements will be being ignored find_and_update_equality_match(requirement_strings) elsif requirement_strings.any? { |r| r.start_with?("~", "^") } # If a compatibility operator is being used, just bump its # version (and remove any other requirements) v_req = requirement_strings.find { |r| r.start_with?("~", "^") } bump_version(v_req, latest_resolvable_version.to_s) elsif new_version_satisfies?(req) # Otherwise we're looking at a range operator. No change # required if it's already satisfied req.fetch(:requirement) else # But if it's not, update it update_requirements_range(requirement_strings) end req.merge(requirement: new_requirement) end