Raise errors for invalid blueprints for associations#233
Merged
philipqnguyen merged 8 commits intoprocore-oss:masterfrom Aug 11, 2020
Merged
Raise errors for invalid blueprints for associations#233philipqnguyen merged 8 commits intoprocore-oss:masterfrom
philipqnguyen merged 8 commits intoprocore-oss:masterfrom
Conversation
…he Blueprinter for a given association. Add spec to cover the case when an object that does not have any ancestors is passed as the blueprint.
…nt for an association has ancestors and inherits from Blueprinter::Base. Raise errors in case a given Blueprint is not valid
philipqnguyen
suggested changes
Aug 11, 2020
Contributor
philipqnguyen
left a comment
There was a problem hiding this comment.
Great idea, I have a suggestion.
philipqnguyen
approved these changes
Aug 11, 2020
mcclayton
reviewed
Aug 11, 2020
adamwells
approved these changes
Aug 11, 2020
philipqnguyen
approved these changes
Aug 11, 2020
Merged
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR validates that a given Blueprint class passed for an association is valid and inherits from
Blueprinter::Base.The issue.
Take the following
Blueprinter.This raises
undefined method `prepare' for #<Class:0x00005649611cdb70> Did you mean? prependwhen this line is interpreted.The fix:
Add logic to raise errors if
Blueprinter::Baseis not present in the ancestor list of the class provided as the Blueprinter for a given association.My thoughts:
The undefined method error is not intuitive and does offer any hint as to what's going on to the programmer. As an extra I also added a check to see if the provided Blueprint class has any ancestors at all.