[Bugfix] Handle deeply-nested dependent params #1661
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.
Addresses #1659. The core issue was that param validations are a flat list, and the tree structure was only enforced by the recursion in
should_validate?
. When I moved the dependency check into the actual validator, the structure was no longer respected past one level deep. To resolve, I've added a similar recursive check intoParamsScope#meets_dependency?
. I also added a few more test cases onto @jnardone's repro to test out the behavior works with arrays and nested arrays.