-
Notifications
You must be signed in to change notification settings - Fork 385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support unexported fields #198
Open
kuritka
wants to merge
1
commit into
kelseyhightower:master
Choose a base branch
from
kuritka:unexported_fields
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains 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
I decided to extend the functionality to support unexported fields. I have one main reason for this. - After I load a structure from envvars, I want to perform the steps that further create the state. I load several variables and then calculate a new one from them, but there is no reason to have the originals public. Another example is that I parse the value of an enum from a private string variable. etc... Signed-off-by: kuritka <[email protected]>
kuritka
added a commit
to k8gb-io/k8gb
that referenced
this pull request
Oct 21, 2021
Thanks to ENV-BINDER we have moved the responsibility for bindings of environment variables to an external, well tested package. ENV-BINDER works with unexported fields, so we can bind the values of some fields and calculate a new value from them in the calculation phase. An example is enum, where env_variable has the value "info" but the internal state of the structure has the value 1. (I have also created a PR in [kelsyhightower/envconfig](kelseyhightower/envconfig#198), which solves the problem with private fields). Thanks to the delegation of responsibility I could delete about a third of the test without changing the depressolver coverage, which increased to 95% with the changes. Signed-off-by: kuritka <[email protected]>
kuritka
added a commit
to k8gb-io/k8gb
that referenced
this pull request
Oct 21, 2021
Thanks to ENV-BINDER we have moved the responsibility for bindings of environment variables to an external, well tested package. ENV-BINDER works with unexported fields, so we can bind the values of some fields and calculate a new value from them in the calculation phase. An example is enum, where env_variable has the value "info" but the internal state of the structure has the value 1. (I have also created a PR in [kelsyhightower/envconfig](kelseyhightower/envconfig#198), which solves the problem with private fields). Thanks to the delegation of responsibility I could delete about a third of the test without changing the depressolver coverage, which increased to 95% with the changes. Signed-off-by: kuritka <[email protected]>
kuritka
added a commit
to k8gb-io/k8gb
that referenced
this pull request
Oct 22, 2021
Thanks to ENV-BINDER we have moved the responsibility for bindings of environment variables to an external, well tested package. ENV-BINDER works with unexported fields, so we can bind the values of some fields and calculate a new value from them in the calculation phase. An example is enum, where env_variable has the value "info" but the internal state of the structure has the value 1. (I have also created a PR in [kelsyhightower/envconfig](kelseyhightower/envconfig#198), which solves the problem with private fields). Thanks to the delegation of responsibility I could delete about a third of the test without changing the depressolver coverage, which increased to 95% with the changes. Signed-off-by: kuritka <[email protected]>
kuritka
added a commit
to k8gb-io/k8gb
that referenced
this pull request
Oct 22, 2021
Thanks to ENV-BINDER we have moved the responsibility for bindings of environment variables to an external, well tested package. ENV-BINDER works with unexported fields, so we can bind the values of some fields and calculate a new value from them in the calculation phase. An example is enum, where env_variable has the value "info" but the internal state of the structure has the value 1. (I have also created a PR in [kelsyhightower/envconfig](kelseyhightower/envconfig#198), which solves the problem with private fields). Thanks to the delegation of responsibility I could delete about a third of the test without changing the depressolver coverage, which increased to 95% with the changes. Signed-off-by: kuritka <[email protected]>
kuritka
added a commit
to k8gb-io/k8gb
that referenced
this pull request
Oct 25, 2021
* Bind env variables with ENV-BINDER, clean tests Thanks to ENV-BINDER we have moved the responsibility for bindings of environment variables to an external, well tested package. ENV-BINDER works with unexported fields, so we can bind the values of some fields and calculate a new value from them in the calculation phase. An example is enum, where env_variable has the value "info" but the internal state of the structure has the value 1. (I have also created a PR in [kelsyhightower/envconfig](kelseyhightower/envconfig#198), which solves the problem with private fields). Thanks to the delegation of responsibility I could delete about a third of the test without changing the depressolver coverage, which increased to 95% with the changes. Signed-off-by: kuritka <[email protected]> * refs #683: remove EXTERNAL_DNS_ from infoblox wapi username and password (#688) Signed-off-by: Jimmy <[email protected]> Signed-off-by: kuritka <[email protected]> Co-authored-by: Sascha <[email protected]>
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.
I decided to extend the functionality to support unexported fields.
I have one main reason for this.
Signed-off-by: kuritka [email protected]