Fluxion::Config::Context
Shared state and field helpers for one parse.
Parsing collects diagnostics instead of raising, so a profile with five mistakes takes one run to fix rather than five. Helpers therefore return a usable placeholder on failure and record the problem; the caller checks the collector once at the end.
Constants
Constructors
Instance methods
An absolute, normalized filesystem path, after ~ expansion.
A normalized relative POSIX path, used for archive member selection.
Directory containing the profile. Relative script, working-directory, and
creates paths resolve against this so a profile stays portable
regardless of where it is run from.
Note the explicit nil check: node.bool? || default would quietly turn
an explicit false into the default, which is exactly backwards for
fields like gpgCheck where false is the dangerous value.
Tri-state: nil when the key is absent, so "not stated" stays distinct from "explicitly false".
Durations accept both the ISO-8601 form the stable schema documents and
the compact forms manifests use (30m, 90s, 500ms, 120).
Parses an enum-style field, reporting the accepted spellings when it does not match. Returns nil after recording the error.
Expands a leading ~ only. A ~ in the middle of a path is a literal
character, and replacing every occurrence would corrupt real filenames.
Requires an absolute HTTPS URL with a host and no embedded credentials.
All three are checked and reported together rather than one per run, because a URL that is wrong in two ways should not take two attempts to fix. Credentials in a URL are rejected outright: they end up in process listings, and Fluxion would have to redact them everywhere afterwards.
A path that may be relative, resolved against the profile directory.
A required string field. Records a diagnostic and returns "" when absent, so the surrounding parse can keep going and report everything else too.