subclass collection and don't override AR collection #602
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 subclasses the new collection extension introduced in #594 and sets it as the default collection_parser in ShopifyAPI::Base instead of extending ActiveResource directly.
Extending ActiveResource directly can cause problems to apps using active resource to interact with non-shopify APIs and it also caused issues with #600 since
ShopifyAPI::Meta
uses inherits fromActiveResource::Base
and notShopifyAPI::Base
We had a similar issue with connections in the past and #287 addressed those by subclassing connection. Custom connection classes were added a few years ago and it was deemed necessary to have a fallback to directly extending active resource. I'm not sure we need the same fallback here as custom collection parsers were added I think between 7 and 9 years ago.