Add support for conditional relationships #450
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.
History
Setting the
readableoption on a relationship to a callables (procs, lambdas, etc) would only evaulate on load (once). Conditionally hiding relationships per request was not supported. Feature was disabledCurrent State (before PR)
readableoption on relationships (has_many,belongs_to) doesn't support callables (procs, lambdas, etc).This PR
Adds support for setting
readablewith callables.Changes
Sideloadevaluates readable flag every time so that the read conditions can be check against current request (or context):ifoption onJSONAPI::Serializable::Relationshipobject with lambda that callssideload.readable?readable?on sideload since the check will be happening in the serializer.include_hashif the current included relationships is not readable.