class

Quartz::SDK::Cache

Inherits Reference < Object

Manages on-disk cache of Flipper SDKs.

Layout: <root>/<variant>/<channel>/ contains the extracted SDK tree (with sdk.opts at the root for stock-style layouts).

Constants

DEFAULT_ROOT = Path[Path.home, ".quartz", "sdk"]
VALID_CHANNELS = ["dev", "rc", "release", "latest"] of ::String

Constructors

new(root : Path = DEFAULT_ROOT)
Source

Class methods

verify_sha256(path : String | Path, expected_hex : String) : Bool

Verifies a file against a hex SHA256 digest. Returns true/false.

Source

Instance methods

cached?(variant : Variant, channel : String) : Bool
Source
clear(variant : Variant, channel : String) : Nil
Source
list
Source
path_for(variant : Variant, channel : String) : Path
Source
resolve(variant : Variant, channel : String = "release") : Path

Returns the local path for a variant+channel, downloading it if not already present. In this phase we do not actually implement the download flow for non-stock variants (GitHub releases API is left to a later increment) — we validate inputs and error cleanly so callers can surface a real message instead of hanging.

Source
resolve_url(variant : Variant, channel : String) : String
Source
root
Source