Skip to content

[ruby-nextgen] Expose nested resources through clients - #25002

Open
axelray-dev wants to merge 4 commits into
OpenAPITools:masterfrom
axelray-dev:fix/ruby-nextgen-nested-resources-24999
Open

axelray-dev wants to merge 4 commits into
OpenAPITools:masterfrom
axelray-dev:fix/ruby-nextgen-nested-resources-24999

Conversation

@axelray-dev

@axelray-dev axelray-dev commented Sep 23, 2026 •

Copy link
Copy Markdown

Fixes #24999

Summary

Expose nested Ruby-nextgen resource clients through their namespace clients. This makes paths such as client.store.order available to callers and also generates a concrete namespace class when a namespace only contains nested resources, so Zeitwerk can load the generated files correctly.

The change adds regression coverage for direct and namespace-only nested resources, including multiple child resources, and updates the Petstore sample to expose client.store.order.

Validation

  • CircleCI node0 through node3 passed.
  • git diff --check passed.
  • The focused Maven test could not run on the VPS because Java is not installed; the generator test suite is covered by CI.

@axelray-dev
axelray-dev marked this pull request as ready for review September 24, 2026 20:50

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 7 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 1 file (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

@axelray-dev

Copy link
Copy Markdown
Author

Addressed the current review findings in a445f4a. Namespace-only output now follows the first actually generated nested resource, resource accessors avoid initialize and direct-operation collisions, and generated metadata continues to derive from the processed operation set. git diff --check passed on the VPS; Java and Maven are not installed there, so CI is the authoritative generator test. Please re-review the new head.

@wing328

wing328 commented Sep 25, 2026

Copy link
Copy Markdown
Member

thanks for the PR. please review the build failure when you've time.

cc @n-rodriguez (author of ruby-nextgen)

@wing328 wing328 modified the milestone: 7.26.0 Sep 25, 2026
@axelray-dev

Copy link
Copy Markdown
Author

Addressed the build failure in e52ac91. The RubyNextgenClientCodegenTest suite now passes 21/21 on the VPS. Resource filename basenames are kept separate from collision-safe client accessors for Zeitwerk inflections, the acronym assertion now matches the namespace-only generated layout, and the nested-resource test now covers the namespace client accessor. Please re-review the new head.

@wing328

wing328 commented Sep 28, 2026

Copy link
Copy Markdown
Member

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG][RUBY-NEXTGEN] Nested resources are not reachable from the client

2 participants