Class: Antigravity::Tool

Inherits:
Base
  • Object
show all
Defined in:
lib/antigravity/tool.rb

Defined Under Namespace

Modules: ClassMethods Classes: Dynamic

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Emojifiable

#emoji, included

Class Method Details

.define(name, desc: '', params: {}, &block) ⇒ Object

Factory method: define a tool inline with a block. Tool.define(:name, desc: '...', params: { city: { type: :string } }) { |city:| ... }



13
14
15
# File 'lib/antigravity/tool.rb', line 13

def define(name, desc: '', params: {}, &block)
  Dynamic.new(name, description: desc, params: params, &block)
end

.inherited(subclass) ⇒ Object



6
7
8
9
# File 'lib/antigravity/tool.rb', line 6

def inherited(subclass)
  super
  subclass.extend(ClassMethods)
end

Instance Method Details

#to_json_schemaObject



75
76
77
# File 'lib/antigravity/tool.rb', line 75

def to_json_schema
  self.class.to_json_schema
end

#tool_nameObject



71
72
73
# File 'lib/antigravity/tool.rb', line 71

def tool_name
  self.class.name
end