class

Bakelite::FS::Registry

Inherits Reference < Object

Concrete registry implementation managing volumes and union routing

Constructors

Instance methods

[](path : String) : Item
Source
[]?(path : String) : Item | Nil
Source
each_file

Iterates over all visible unique items in union priority order.

Source
extract_all(destination_dir : Path | String, overwrite : Bool = true) : Int32

Extracts all visible union files into destination_dir on disk.

Source
extract_folder(prefix : String, destination_dir : Path | String, overwrite : Bool = true) : Int32

Extracts all visible files matching virtual prefix into destination_dir.

Source
extract_volume(name : Symbol | String, destination_dir : Path | String, overwrite : Bool = true) : Int32

Extracts all files from a specific volume into destination_dir on disk.

Source
extract_volume_folder(name : Symbol | String, prefix : String, destination_dir : Path | String, overwrite : Bool = true) : Int32

Extracts a specific subfolder from a specific volume into destination_dir on disk.

Source
files

Returns an array of all virtual paths visible through the union router.

Source
get(path : String) : Item

Queries a path, raising KeyError if not found in any mounted volume.

Source
get?(path : String) : Item | Nil

Queries a path across all mounted volumes using union routing. Volumes with higher priority shadow lower-priority volumes.

Source
glob(pattern : String, &block : Item -> ) : Nil

Matches all visible files using glob patterns.

Source
glob(pattern : String) : Array(Item)
Source
has_file?(path : String) : Bool
Source
mount(volume : Volume) : Volume

Mounts a volume into this registry. Re-sorts volumes by priority descending.

Source
mount_file(archive_path : String | Path, volume_name : Symbol | String | Nil = nil, mount : String | Nil = nil, priority : Int32 = 0) : Volume | Nil

Mounts an external .bkl archive file or executable overlay

Source
mount_self!(priority : Int32 = 0) : Bool

Automatically inspects Process.executable_path for appended Bakelite volumes

Source
open(path : String) : IO
Source
open(path : String, &block : IO -> T) : T forall T
Source
root_volume

Default root volume for direct bakes without explicit volume declaration.

Source
unmount(volume_name : Symbol | String) : Bool

Unmounts a volume by its identifier. Cannot unmount root volume.

Source
volume(name : Symbol | String) : Volume

Retrieves a volume by name. Raises KeyError if missing.

Source
volume?(name : Symbol | String) : Volume | Nil

Retrieves a volume by name, returning nil if missing.

Source
volumes
Source