ArrJanitor::DownloadClient
Abstraction over a download client (qBittorrent, ...) able to list the file paths contained in a torrent, identified by its hash.
Concrete implementations live as nested classes (see QBittorrent); build
one from a Sonarr/Radarr download-client implementation name plus the
matched credentials via .build.
Class methods
build(implementation : String, base_url : String, api_key : String | Nil, username : String | Nil, password : String | Nil) : DownloadClient | Nil
Builds a DownloadClient for the *arr download-client implementation.
Only qbittorrent (case-insensitive) is supported; it requires both
username and password (its WebUI has no API key) and raises Error
when either is missing. Returns nil for any other implementation so the
caller can log and skip it.