feat(ruby): add rubocopVariableNumberStyle config option #11428
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Adds a configurable
rubocopVariableNumberStyleoption to control RuboCop'sNaming/VariableNumberstyle in generated Ruby SDKs. This allows APIs with field names containing embedded digits (e.g.,recaptcha_v2,office365,thumbprint_sha256) to configure the appropriate style.Link to Devin run: https://app.devin.ai/sessions/3d112cd502b04c18bc02bf2511fad7d2
Requested by: @iamnamananand996
Changes Made
rubocopVariableNumberStyleconfig option toBaseRubyCustomConfigSchemawith three values:snake_case(default): requires underscores before numbers (e.g.,recaptcha_v_2)normalcase: allows numbers without underscores (e.g.,recaptcha_v2,office365)disabled: disables the cop entirelyRubocopFile.tsto read from config and generate appropriate.rubocop.ymlcontentUsage
For APIs like auth0 with field names containing embedded digits, add to
generators.yml:Implementation Notes
z.enum()directly in the schema field, matching the existing pattern used by other config schemas (TypeScript, Python, Go, Java, PHP)Testing
pnpm run check)tsc --build)Human Review Checklist
snake_case,normalcase,disabled) generate correct.rubocop.ymloutputsnake_case) maintains backward compatibility for existing SDKsz.enum()pattern matches other config schemas in the codebase