Class: ModelContextProtocol::Server::ResourceTemplate
- Inherits:
-
Object
- Object
- ModelContextProtocol::Server::ResourceTemplate
- Defined in:
- lib/model_context_protocol/server/resource_template.rb
Defined Under Namespace
Classes: CompletionDSL, DefinitionDSL
Class Attribute Summary collapse
-
.completions ⇒ Object
readonly
Returns the value of attribute completions.
-
.description ⇒ Object
readonly
Returns the value of attribute description.
-
.mime_type ⇒ Object
readonly
Returns the value of attribute mime_type.
-
.name ⇒ Object
readonly
Returns the value of attribute name.
-
.uri_template ⇒ Object
readonly
Returns the value of attribute uri_template.
Class Method Summary collapse
- .complete_for(param_name, value) ⇒ Object
- .define(&block) ⇒ Object
- .definition ⇒ Object
- .inherited(subclass) ⇒ Object
Class Attribute Details
.completions ⇒ Object (readonly)
Returns the value of attribute completions.
4 5 6 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 4 def completions @completions end |
.description ⇒ Object (readonly)
Returns the value of attribute description.
4 5 6 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 4 def description @description end |
.mime_type ⇒ Object (readonly)
Returns the value of attribute mime_type.
4 5 6 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 4 def mime_type @mime_type end |
.name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 4 def name @name end |
.uri_template ⇒ Object (readonly)
Returns the value of attribute uri_template.
4 5 6 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 4 def uri_template @uri_template end |
Class Method Details
.complete_for(param_name, value) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 25 def complete_for(param_name, value) completion = if @completions && @completions[param_name.to_s] @completions[param_name.to_s] else ModelContextProtocol::Server::NullCompletion end completion.call(param_name.to_s, value) end |
.define(&block) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 6 def define(&block) definition_dsl = DefinitionDSL.new definition_dsl.instance_eval(&block) @name = definition_dsl.name @description = definition_dsl.description @mime_type = definition_dsl.mime_type @uri_template = definition_dsl.uri_template @completions = definition_dsl.completions end |
.definition ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 35 def definition { name: @name, description: @description, mimeType: @mime_type, uriTemplate: @uri_template, completions: @completions&.transform_keys(&:to_s) } end |
.inherited(subclass) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/model_context_protocol/server/resource_template.rb', line 17 def inherited(subclass) subclass.instance_variable_set(:@name, @name) subclass.instance_variable_set(:@description, @description) subclass.instance_variable_set(:@mime_type, @mime_type) subclass.instance_variable_set(:@uri_template, @uri_template) subclass.instance_variable_set(:@completions, @completions&.dup) end |