Module: RosettAi::Plugins::EngineContract::ClassMethods
- Defined in:
- lib/rosett_ai/plugins/engine_contract.rb
Overview
Engine-specific class methods beyond the base Contract.
Instance Method Summary collapse
-
#backend_class ⇒ Class
The Backend subclass for rule compilation.
-
#config_compiler_class ⇒ Class?
Optional ConfigCompiler subclass for settings compilation.
-
#detector_class ⇒ Class?
Optional Detector subclass for system probing.
-
#engine_name ⇒ String
Engine identifier (e.g. 'claude', 'goose').
-
#executor_class ⇒ Class?
Optional Executor subclass for API calls.
-
#manifest_path ⇒ Pathname
Path to the engine's manifest.yml.
-
#plugin_name ⇒ Object
Convenience alias — delegates to plugin_name for Contract compatibility.
- #plugin_type ⇒ Object
-
#target_profile_path ⇒ Pathname
Path to the engine's target profile YAML.
Instance Method Details
#backend_class ⇒ Class
Returns the Backend subclass for rule compilation.
32 33 34 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 32 def backend_class raise NotImplementedError, "#{self}#backend_class must return the backend class" end |
#config_compiler_class ⇒ Class?
Returns optional ConfigCompiler subclass for settings compilation.
43 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 43 def config_compiler_class = nil |
#detector_class ⇒ Class?
Returns optional Detector subclass for system probing.
37 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 37 def detector_class = nil |
#engine_name ⇒ String
Returns engine identifier (e.g. 'claude', 'goose').
27 28 29 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 27 def engine_name raise NotImplementedError, "#{self}#engine_name must return the engine identifier" end |
#executor_class ⇒ Class?
Returns optional Executor subclass for API calls.
40 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 40 def executor_class = nil |
#manifest_path ⇒ Pathname
Returns path to the engine's manifest.yml.
46 47 48 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 46 def manifest_path raise NotImplementedError, "#{self}#manifest_path must return the manifest path" end |
#plugin_name ⇒ Object
Convenience alias — delegates to plugin_name for Contract compatibility.
56 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 56 def plugin_name = engine_name |
#plugin_type ⇒ Object
24 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 24 def plugin_type = :engine |
#target_profile_path ⇒ Pathname
Returns path to the engine's target profile YAML.
51 52 53 |
# File 'lib/rosett_ai/plugins/engine_contract.rb', line 51 def target_profile_path manifest_path.dirname.join('target.yml') end |