feat: accept snake_case environment variable names - #302
Closed
Brian Gordon Davis (bgdnext64) wants to merge 1 commit into
Closed
feat: accept snake_case environment variable names#302Brian Gordon Davis (bgdnext64) wants to merge 1 commit into
Brian Gordon Davis (bgdnext64) wants to merge 1 commit into
Conversation
Contributor
|
Hi Brian Gordon Davis (@bgdnext64) PR #298 addresses the same issue. Closing this issue |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds support for
snake_caseenvironment variable names in addition to the existing concatenated form, addressing the readability concern raised in the issue.Previously each flag mapped to a single environment variable built by uppercasing the flag name (for example
subscriptionID→MPF_SUBSCRIPTIONID). MPF now also binds a snake_case variant derived from the flag's word boundaries, soMPF_SUBSCRIPTION_IDandMPF_SP_CLIENT_SECRETwork too.Details:
camelCaseToSnakeUpper, which splits a camelCase flag name on word/acronym boundaries (e.g.subscriptionID→SUBSCRIPTION_ID,spClientID→SP_CLIENT_ID).bindFlagsnow explicitly binds each viper key to both the legacy concatenated env var and the snake_case env var, so existing setups keep working with no change. When both are set, the concatenated form takes precedence.Tests:
TestCamelCaseToSnakeUppercovers the conversion across all global flags.TestBindEnvVarsverifies both the legacy and snake_case forms resolve correctly, with per-subtest isolation from any pre-existingMPF_*variables.Fixes #248