Class: Geminize::Models::FunctionDeclaration
- Inherits:
-
Object
- Object
- Geminize::Models::FunctionDeclaration
- Defined in:
- lib/geminize/models/function_declaration.rb
Overview
Represents a function declaration for function calling in Gemini API
Instance Attribute Summary collapse
-
#description ⇒ String
readonly
Description of what the function does.
-
#name ⇒ String
readonly
Name of the function.
-
#parameters ⇒ Hash
readonly
JSON schema for function parameters.
Instance Method Summary collapse
-
#initialize(name, description, parameters) ⇒ FunctionDeclaration
constructor
Initialize a new function declaration.
-
#to_h ⇒ Hash
Alias for to_hash.
-
#to_hash ⇒ Hash
Convert the function declaration to a hash for API requests.
-
#validate! ⇒ Boolean
Validate the function declaration.
Constructor Details
#initialize(name, description, parameters) ⇒ FunctionDeclaration
Initialize a new function declaration
21 22 23 24 25 26 |
# File 'lib/geminize/models/function_declaration.rb', line 21 def initialize(name, description, parameters) @name = name @description = description @parameters = parameters validate! end |
Instance Attribute Details
#description ⇒ String (readonly)
Returns Description of what the function does.
11 12 13 |
# File 'lib/geminize/models/function_declaration.rb', line 11 def description @description end |
#name ⇒ String (readonly)
Returns Name of the function.
8 9 10 |
# File 'lib/geminize/models/function_declaration.rb', line 8 def name @name end |
#parameters ⇒ Hash (readonly)
Returns JSON schema for function parameters.
14 15 16 |
# File 'lib/geminize/models/function_declaration.rb', line 14 def parameters @parameters end |
Instance Method Details
#to_h ⇒ Hash
Alias for to_hash
50 51 52 |
# File 'lib/geminize/models/function_declaration.rb', line 50 def to_h to_hash end |
#to_hash ⇒ Hash
Convert the function declaration to a hash for API requests
40 41 42 43 44 45 46 |
# File 'lib/geminize/models/function_declaration.rb', line 40 def to_hash { name: @name, description: @description, parameters: @parameters } end |
#validate! ⇒ Boolean
Validate the function declaration
31 32 33 34 35 36 |
# File 'lib/geminize/models/function_declaration.rb', line 31 def validate! validate_name! validate_description! validate_parameters! true end |