This repository was archived by the owner on Mar 30, 2022. It is now read-only.
Fix where_unscoping on 4.0, 4.1, 4.2#421
Open
chewi wants to merge 2 commits intoactiverecord-hackery:masterfrom
Open
Fix where_unscoping on 4.0, 4.1, 4.2#421chewi wants to merge 2 commits intoactiverecord-hackery:masterfrom
chewi wants to merge 2 commits intoactiverecord-hackery:masterfrom
Conversation
Perhaps the original author thought it didn't because there was no `where_unscoping` override defined for 4.2 but it inherits from 4.1. It doesn't hurt to do the test anyway, except that the unscope call had to be changed to `unscope!` in order for the SQL check to pass. It should have been `unscope!` all along and it only worked because of rails/rails#20722.
Believe it or not, basic `unscope` functionality was broken. I don't know how but With Squeel in play, `where_values` somehow becomes a nested array. Flattening it first fixes the issue. I have adjusted the 4.1 override to use `super` so that less code is duplicated. This isn't possible for 4.0. I have added a new override for 4.2 because `where_values` should not be mutated in that version.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Believe it or not, basic
unscopefunctionality was broken. I don't know how but with Squeel in play,where_valuessomehow becomes a nested array. Flattening it first fixes the issue.I have adjusted the 4.1 override to use
superso that less code is duplicated. This isn't possible for 4.0. I have added a new override for 4.2 becausewhere_valuesshould not be mutated in that version.