Class: RosettAi::Engines::Registry

Inherits:
Object
  • Object
show all
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

Class Method Details

.availableObject



15
16
17
# File 'lib/rosett_ai/engines/registry.rb', line 15

def available
  RosettAi::Plugins::Registry.available(:engine)
end

.engine_module(name) ⇒ Object



19
20
21
# File 'lib/rosett_ai/engines/registry.rb', line 19

def engine_module(name)
  RosettAi::Plugins::Registry.plugin_module(:engine, name.to_s)
end

.manifest(name) ⇒ Object

Raises:



23
24
25
26
27
28
29
30
31
# File 'lib/rosett_ai/engines/registry.rb', line 23

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