Module: RubyLLM::Schema::DSL::ComplexTypes
- Included in:
- RubyLLM::Schema::DSL
- Defined in:
- lib/ruby_llm/schema/dsl/complex_types.rb
Instance Method Summary collapse
- #any_of(name, description: nil, required: true, **options, &block) ⇒ Object
- #array(name, description: nil, required: true, **options, &block) ⇒ Object
- #object(name, description: nil, required: true, **options, &block) ⇒ Object
- #one_of(name, description: nil, required: true, **options, &block) ⇒ Object
- #optional(name, description: nil, &block) ⇒ Object
Instance Method Details
#any_of(name, description: nil, required: true, **options, &block) ⇒ Object
15 16 17 |
# File 'lib/ruby_llm/schema/dsl/complex_types.rb', line 15 def any_of(name, description: nil, required: true, **, &block) add_property(name, any_of_schema(description: description, **, &block), required: required) end |
#array(name, description: nil, required: true, **options, &block) ⇒ Object
11 12 13 |
# File 'lib/ruby_llm/schema/dsl/complex_types.rb', line 11 def array(name, description: nil, required: true, **, &block) add_property(name, array_schema(description: description, **, &block), required: required) end |
#object(name, description: nil, required: true, **options, &block) ⇒ Object
7 8 9 |
# File 'lib/ruby_llm/schema/dsl/complex_types.rb', line 7 def object(name, description: nil, required: true, **, &block) add_property(name, object_schema(description: description, **, &block), required: required) end |
#one_of(name, description: nil, required: true, **options, &block) ⇒ Object
19 20 21 |
# File 'lib/ruby_llm/schema/dsl/complex_types.rb', line 19 def one_of(name, description: nil, required: true, **, &block) add_property(name, one_of_schema(description: description, **, &block), required: required) end |
#optional(name, description: nil, &block) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/ruby_llm/schema/dsl/complex_types.rb', line 23 def optional(name, description: nil, &block) any_of(name, description: description) do instance_eval(&block) null end end |