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)').
33 34 35 |
# File 'lib/rosett_ai/plugins/contract.rb', line 33 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').
28 29 30 |
# File 'lib/rosett_ai/plugins/contract.rb', line 28 def plugin_name raise NotImplementedError, "#{self}#plugin_name must return the plugin identifier" end |
#plugin_type ⇒ Symbol
Returns one of :engine, :gui, :mcp.
23 24 25 |
# File 'lib/rosett_ai/plugins/contract.rb', line 23 def plugin_type raise NotImplementedError, "#{self}#plugin_type must return :engine, :gui, or :mcp" end |
#version ⇒ String
Returns SemVer version string.
38 39 40 |
# File 'lib/rosett_ai/plugins/contract.rb', line 38 def version raise NotImplementedError, "#{self}#version must return a SemVer string" end |