Class: RosettAi::Engines::Registry
- Inherits:
-
Object
- Object
- RosettAi::Engines::Registry
- Defined in:
- lib/rosett_ai/engines/registry.rb
Overview
Engine registry — delegates to RosettAi::Plugins::Registry for dynamic plugin discovery. External engine gems self-register via their register.rb files, discovered by Gem.find_files.
Class Method Summary collapse
-
.available ⇒ Array<Hash>
List all available engine plugins.
-
.engine_module(name) ⇒ Module?
Return the Ruby module for the given engine name.
- .manifest(name) ⇒ Object
Class Method Details
.available ⇒ Array<Hash>
List all available engine plugins.
18 19 20 |
# File 'lib/rosett_ai/engines/registry.rb', line 18 def available RosettAi::Plugins::Registry.available(:engine) end |
.engine_module(name) ⇒ Module?
Return the Ruby module for the given engine name.
26 27 28 |
# File 'lib/rosett_ai/engines/registry.rb', line 26 def engine_module(name) RosettAi::Plugins::Registry.plugin_module(:engine, name.to_s) end |
.manifest(name) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/rosett_ai/engines/registry.rb', line 30 def manifest(name) mod = engine_module(name) path = mod.manifest_path raise RosettAi::Error, "No manifest for engine: #{name}" unless path.exist? data = RosettAi::YamlLoader.load_file(path) validate_manifest!(data, path) data end |