Module: GenerativeUI::Attributes::StructuralDsl
- Included in:
- Schema
- Defined in:
- lib/generative_ui/attributes.rb
Instance Method Summary collapse
- #many_components(name, description: nil, required: true, only: nil, min_items: nil, max_items: nil) ⇒ Object
- #one_component(name, description: nil, required: true, only: nil) ⇒ Object
Instance Method Details
#many_components(name, description: nil, required: true, only: nil, min_items: nil, max_items: nil) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/generative_ui/attributes.rb', line 23 def many_components(name, description: nil, required: true, only: nil, min_items: nil, max_items: nil) add_property( name, { type: 'array', items: { type: 'string' }, description: description, minItems: min_items, maxItems: max_items, Attributes::METADATA_KEY => { cardinality: :many, only: Attributes.normalize_only(only) } }.compact, required: required ) end |
#one_component(name, description: nil, required: true, only: nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/generative_ui/attributes.rb', line 8 def one_component(name, description: nil, required: true, only: nil) add_property( name, { type: 'string', description: description, Attributes::METADATA_KEY => { cardinality: :one, only: Attributes.normalize_only(only) } }.compact, required: required ) end |