Fetcher::Software
Constants
CODEBERG_RELEASES_PATTERN = /https?:\/\/(?:www\.)?codeberg\.org\/([^\/]+\/[^\/]+)(?:\/[^\/]*)*\/releases/
CODEBERG_REPO_PATTERN = /https:\/\/(?:www\.)?codeberg\.org\/([^\/]+\/[^\/]+)\/?/
GITHUB_RELEASES_PATTERN = /https?:\/\/(?:www\.)?github\.com\/([^\/]+\/[^\/]+)(?:\/[^\/]*)*\/releases/
GITHUB_REPO_PATTERN = /https:\/\/(?:www\.)?github\.com\/([^\/]+\/[^\/]+)\/?/
Pre-compiled patterns for repo extraction (using %r for cleaner regex)
GITLAB_RELEASES_PATTERN = /https?:\/\/([^\/.]+\.[^\/]+)\/([^\/]+\/[^\/]+)\/-\/releases/
Class methods
Debug helper for tests: construct a Codeberg provider with correct encoding
parse_software_entry(release : JSON::Any, provider : SoftwareProvider, body_field : String = "body") : Entry
Sourcepull(url : String, headers : HTTP::Headers, limit : Int32 = 100, config : RequestConfig = RequestConfig.new) : Result
Sourcetry_atom_fallback(provider : SoftwareProvider, limit : Int32, http_client : CrestHttpClient, headers : HTTP::Headers) : Result | Nil
Sourcetry_releases_sequence(provider_name : String, provider : SoftwareProvider, limit : Int32, http_client : CrestHttpClient, headers : HTTP::Headers) : Result
Sourcetry_software_api(provider_name : String, provider : SoftwareProvider, limit : Int32, http_client : CrestHttpClient, headers : HTTP::Headers) : Result | Nil
Source