Class: Ask::Tool::Parameter

Inherits:
Object
  • Object
show all
Defined in:
lib/ask/tools/tool.rb

Overview

Internal value object for parameter metadata.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, type:, description: nil, required: true) ⇒ Parameter

Returns a new instance of Parameter.



255
256
257
258
259
260
# File 'lib/ask/tools/tool.rb', line 255

def initialize(name:, type:, description: nil, required: true)
  @name = name
  @type = type
  @description = description
  @required = required
end

Instance Attribute Details

#descriptionString? (readonly)

Returns:

  • (String, nil)


248
249
250
# File 'lib/ask/tools/tool.rb', line 248

def description
  @description
end

#nameSymbol (readonly)

Returns:

  • (Symbol)


242
243
244
# File 'lib/ask/tools/tool.rb', line 242

def name
  @name
end

#requiredBoolean (readonly) Also known as: required?

Returns:

  • (Boolean)


251
252
253
# File 'lib/ask/tools/tool.rb', line 251

def required
  @required
end

#typeString (readonly)

Returns JSON Schema type string.

Returns:

  • (String)

    JSON Schema type string



245
246
247
# File 'lib/ask/tools/tool.rb', line 245

def type
  @type
end

Instance Method Details

#to_hHash

Returns:

  • (Hash)


263
264
265
266
267
268
269
270
# File 'lib/ask/tools/tool.rb', line 263

def to_h
  {
    name: name,
    type: type,
    description: description,
    required: required
  }
end