[WIP] Ensure references_many no nil value #1
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.
Issue:
When we have a deserializer with a
references_manyinside and that we don't receive this value in the response of the API call, it crashes.What we want:
When we have a deserializer with a
references_manyinside and that we don't receive this value in the response of the API call, it should just ignore it and continue reading next attributes as it works forreferences_oneandattribute.What's happening concretely in the code:
While deserializing, while arriving on a non existing
reference_manyin the response, we.assign_attributethereference_manywith anilvalue. This causes the crash (lib/ledger_sync/deserializer.rb:44).What's the plan:
Maybe try to set the value to
[](empty array) when the reference is not present in the response.Example:
When I receive the answer from my API call on AmazonBusinessAPI, sometimes, it doesn't have the "packages"
keywith an array asvalue, like that:In the first case, everything works fine. In the second case, the gem searches for
packages, doesn't find it and crashes.