Skip to content

[WIP]: [OpenAPI]: Parse association declarations in Blueprinter#326

Draft
Abishekcs wants to merge 1 commit into
rage-rb:mainfrom
Abishekcs:openapi/blueprinter-association-parsing
Draft

[WIP]: [OpenAPI]: Parse association declarations in Blueprinter#326
Abishekcs wants to merge 1 commit into
rage-rb:mainfrom
Abishekcs:openapi/blueprinter-association-parsing

Conversation

@Abishekcs

@Abishekcs Abishekcs commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

What this PR does?

Add specs for association support in the Blueprinter extension parser:

  • basic association defaulting to array type with nested blueprint schema
  • association name alias
  • unresolvable blueprint fallback to empty object schema
  • circular association fallback to $ref without infinite loop
  • associations across multiple levels of inheritance
  • identifier in associated blueprint with correct ordering
  • circular association through inheritance
  • multiple associations in one blueprint
  • namespaced associations (e.g. V1::ProjectBlueprint)

Also add collection variants for multiple and namespaced associations.

Fix mocked_classes helper to defer Blueprinter string eval into a before block so const stubs are in place before class_eval runs.

Add specs for association support in the Blueprinter extension parser:
- basic association defaulting to array type with nested blueprint schema
- association name alias
- unresolvable blueprint fallback to empty object schema
- circular association fallback to $ref without infinite loop
- associations across multiple levels of inheritance
- identifier in associated blueprint with correct ordering
- circular association through inheritance
- multiple associations in one blueprint
- namespaced associations (e.g. V1::ProjectBlueprint)

Also add collection variants for multiple and namespaced associations.

Fix mocked_classes helper to defer Blueprinter string eval into a before
block so const stubs are in place before class_eval runs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant