class Dependabot::Uv::UpdateChecker::RequirementsUpdater

def updated_setup_requirement(req)

rubocop:disable Metrics/PerceivedComplexity
def updated_setup_requirement(req)
  return req unless latest_resolvable_version
  return req unless req.fetch(:requirement)
  return req if new_version_satisfies?(req)
  req_strings = req[:requirement].split(",").map(&:strip)
  new_requirement =
    if req_strings.any? { |r| requirement_class.new(r).exact? }
      find_and_update_equality_match(req_strings)
    elsif req_strings.any? { |r| r.start_with?("~=", "==") }
      tw_req = req_strings.find { |r| r.start_with?("~=", "==") }
      convert_to_range(tw_req, latest_resolvable_version)
    else
      update_requirements_range(req_strings)
    end
  req.merge(requirement: new_requirement)
rescue UnfixableRequirement
  req.merge(requirement: :unfixable)
end