Knockout hash keys instead of replacing with empty strings #61
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.
Currently there is no way to delete a hash key when merging two hashes.
Additionally, when using knock-out, when the child value is a hash, it will be replaced by an empty string, changing the data type of a value.
Update the code to knock-out hash keys instead of replacing them with an empty string.
I understand this is a breaking change as-is, happy to introduce an extra configuration flag for the new behavior.
Somewhat similar to #36 , happy that I was not the only one finding the current behavior inconsistent.
Usecase: for https://github.com/rubyconfig/config it is currently impossible to remove an optional hash from the common configuration.
This leads to impossibility of validating a schema like
where settings.yml looks like
and overriding yml looks like