module

Quartz::Ext

Extension-point registry. Lets downstream code register custom transports, SDK sources, signal decoders, and build drivers without forking Quartz. Registration is in-process only — on-disk plugins under ~/.config/quartz/ext/*.cr are enumerated for discovery but never evaluated (Crystal is compiled, not scripted).

Constants

KINDS = {:transport, :sdk_source, :signal_decoder, :build_driver}

Instance methods

clear!

Clears all registrations. Intended for tests.

Source
discover_paths

Returns absolute paths of Crystal source files under ~/.config/quartz/ext/ that a developer would require from their own binary. Quartz never evaluates these.

Source
get(kind : Symbol, name : String) : String | Nil

Returns the registered class name string, or nil if absent. Using the class name avoids Crystal's restrictions on storing Class values in generic containers.

Source
list(kind : Symbol) : Array(String)
Source
register(kind : Symbol, name : String, impl : T.class) forall T
Source

Nested types