Support early-return of falsey values from ready/authorized #4585
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.
If you write a resolver's authorized method with a
return false, nil
in it (to early-return a value ofnil
), it was treating this just asreturn false
and raising, because the early-return value was not truthy. Instead explicitly check for an array value before splitting it in two.I also did
ready?
while I was here since it had the same pattern.The tests are "correct" but won't fail even without my "fix" because the test schema doesn't implementdef unauthorized_object(unauthorized_error)
, and there are a bunch of tests already relying on it being not implemented. Not sure what the best approach is.edit: I realized after posting that it was easier and more correct to test for a false/nil distinction which sidesteps the
unauthorized_object
issue@rmosolgo @DougEdey