Update README documentation on Serializer#filter #476
Merged
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.
Documentation fix clarifying that
#filterneeds to return an array. Previously it said that "And it's also safe to mutate keys argument by doing keys.delete(:author) in case you want to avoid creating two extra arrays." -- I had taken this to mean that I could just modify the originalkeysargument and the return value offilterswould be discarded, which is wrong. I added clarification that if you do modify the original array, you have to return it!This lead to a tricky bug for me, where I wanted to filter out keys that had undefined values:
I was using the in-place
Array#reject!because I thought the original array argument would be used. This was tricky because whilereject!normally returns the array, when nothing was rejected, it returnsnil, causing this to to fail.