Symbolize all the option keys at Redis::Client#initialize(option) #958
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.
Symbolize all the option keys at Redis::Client#initialize(option)
Previously, a limited portion of options are symbolized at
Redis::Client#initialize(option)
. Specifically, only those defined atRedis::Client::DEFAULTS
are symbolized.This invoked confusing behavior and increased maintenance cost.
For example, specifying timeout was a little bit tricky as follows.
Now, all the keys of options are symbolized, and consistent
external behavior is achieved.
This can also reduce maintenance cost of
Redis::Client::DEFAULTS
.This idea was rejected because of memory leak at #256 in 2012.
However, in 2020, I believe we can safely symbolize keys because of the following reasons.
Also, nobody has been interested in the previous style Pull Request at #689, which I created 3 years ago.
I assume that it is about time to change our strategy to symbolize keys.