Module: RosettAi::Plugins::Contract::ClassMethods
- Defined in:
- lib/rosett_ai/plugins/contract.rb
Overview
Class-level interface that every plugin must implement.
Instance Method Summary collapse
-
#display_name ⇒ String
Human-readable display name (e.g. 'ACME AI Tool (Example)').
-
#plugin_name ⇒ String
Machine-readable plugin name (e.g. 'claude', 'gtk4').
-
#plugin_type ⇒ Symbol
One of :engine, :gui, :mcp.
-
#version ⇒ String
SemVer version string.
Instance Method Details
#display_name ⇒ String
Returns human-readable display name (e.g. 'ACME AI Tool (Example)').
32 33 34 |
# File 'lib/rosett_ai/plugins/contract.rb', line 32 def display_name raise NotImplementedError, "#{self}#display_name must return a human-readable name" end |
#plugin_name ⇒ String
Returns machine-readable plugin name (e.g. 'claude', 'gtk4').
27 28 29 |
# File 'lib/rosett_ai/plugins/contract.rb', line 27 def plugin_name raise NotImplementedError, "#{self}#plugin_name must return the plugin identifier" end |
#plugin_type ⇒ Symbol
Returns one of :engine, :gui, :mcp.
22 23 24 |
# File 'lib/rosett_ai/plugins/contract.rb', line 22 def plugin_type raise NotImplementedError, "#{self}#plugin_type must return :engine, :gui, or :mcp" end |
#version ⇒ String
Returns SemVer version string.
37 38 39 |
# File 'lib/rosett_ai/plugins/contract.rb', line 37 def version raise NotImplementedError, "#{self}#version must return a SemVer string" end |