Conform to ActiveModel::Serializers' way of determining array-ness #6
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.
I ran into a problem with a model that uses friendly_id where the collection returned was a
FriendlyIdActiveRecordRelation
, which of course did not give the right answer when we asked itis_a?(Array)
.So I looked at how ActiveModel::Serializers does its determination of whether a resource is an array, and it calls
respond_to?(:to_ary)
(c.f. https://github.com/rails-api/active_model_serializers/blob/master/lib/active_model/serializer.rb#L274). So I just did the same.