module

Beryl::FreebsdRelease

Détection des RELEASE FreeBSD DISPONIBLES en amont (projet FreeBSD), pour signaler qu'une nouvelle version est sortie (ex. 15.1) sans aller vérifier à la main. Source : le listing du miroir officiel des releases — on ne compte QUE les X.Y-RELEASE (pas les -RC/-BETA, ni les snapshots CURRENT).

NB : ceci concerne les RELEASE (minor/major, ex. 15.0 → 15.1), PAS les correctifs intra-release (-pN) qui relèvent de freebsd-update.

Constants

LISTING_URL = "https://download.freebsd.org/ftp/releases/amd64/"

Class methods

available(fetcher : Fetcher = ->default_fetch(String)) : Array(String)

Toutes les RELEASE disponibles (versions X.Y, triées croissant).

Source
default_fetch(url : String) : String

Fetch HTTP par défaut, suit les redirections (le miroir renvoie souvent un 30x vers un miroir géographique). Injectable pour les tests.

Source
latest(fetcher : Fetcher = ->default_fetch(String)) : String | Nil

La plus récente toutes branches confondues (ex. « 15.1 »), ou nil.

Source
latest_by_branch(fetcher : Fetcher = ->default_fetch(String)) : Hash(Int32, String)

Dernière release par branche MAJEURE : {15 => "15.1", 14 => "14.4", …}.

Source
parse_listing(html : String) : Array(String)

Parse le HTML du listing → versions X.Y des X.Y-RELEASE, triées croissant, dédupliquées. PUR → testable sans réseau.

Source
version_key(v : String) : Tuple(Int32, Int32)

Clé de tri numérique d'une version X.Y (sinon « 9.0 » > « 10.0 » en alpha).

Source

Nested types