class Dependabot::Uv::FileUpdater::RequirementReplacer

def updated_dependency_declaration_string

def updated_dependency_declaration_string
  old_req = old_requirement
  updated_string =
    if old_req
      original_dependency_declaration_string(old_req)
        .sub(RequirementParser::REQUIREMENTS, updated_requirement_string)
    else
      original_dependency_declaration_string(old_req)
        .sub(RequirementParser::NAME_WITH_EXTRAS) do |nm|
          nm + updated_requirement_string
        end
    end
  return updated_string unless update_hashes? && requirement_includes_hashes?(old_req)
  updated_string.sub(
    RequirementParser::HASHES,
    package_hashes_for(
      name: dependency_name,
      version: new_hash_version,
      algorithm: hash_algorithm(old_req)
    ).join(hash_separator(old_req))
  )
end