Module: Protege::Manifested
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/protege/extensions/manifested.rb
Overview
Uniform, UI-facing metadata for every registered extension — the "Manifest" layer of the extension framework. Mixed once into each extension base class (+Protege::Tool+/+Provider+/+Hook+/+Resolver+) so a dashboard can list any of them by the same handful of attributes, regardless of how each type registers or activates. Defining the surface here, in one concern, is what lets bindings (e.g. Toolkits) reference extensions uniformly instead of hand-wiring a registry per type.
Provides, at the class level: a stable id (name-derived, or explicit via ClassMethods#manifest_id),
a human display_name (defaulting to the titleized id), an optional description, and registered
(the loaded, named concrete subclasses of the base it is called on). Enumeration is descendant-based,
like the tools registry, so it survives Zeitwerk reloads and skips anonymous classes.
Defined Under Namespace
Modules: ClassMethods