Parse association calls, extract the blueprint: class reference, and recursively build a nested object schema. Support the name: rename option. Default to array type in the output. Fall back gracefully when the referenced blueprint cannot be resolved (emit an empty object schema, do not raise).
association :projects, blueprint: ProjectBlueprint
# -> "projects": { type: array, items: { ...ProjectBlueprint fields } }
association :company, blueprint: CompanyBlueprint, name: :org
# -> "org": { type: object, properties: { ... } }
Parse
associationcalls, extract theblueprint:class reference, and recursively build a nested object schema. Support thename:rename option. Default to array type in the output. Fall back gracefully when the referenced blueprint cannot be resolved (emit an empty object schema, do not raise).