cerebris/jsonapi-resources

Documentation for ResourceSerializer with includes is incorrect

jagthedrummer opened this issue · 3 comments

This issue is a (choose one):

  • Problem/bug report.
  • Feature request.
  • Request for support. Note: Please try to avoid submitting issues for support requests. Use Gitter instead.

Checklist before submitting:

  • I've searched for an existing issue.
  • I've asked my question on Gitter and have not received a satisfactory answer. NOTE - I tried to ask in Gitter but it sends me in an infinite redirect loop when I try to sign in.
  • I've included a complete bug report template. This step helps us and allows us to see the bug without trying to reproduce the problem from your description. It helps you because you will frequently detect if it's a problem specific to your project. NOTE - I attempted to create a complete bug report, but I'm not sure how to use the template, and can't seem to find documentation about how it's supposed to be used and my best guess of running ruby rails_5_master.rb doesn't seem to work.
  • The feature I'm asking for is compliant with the JSON:API spec.

Description

Choose one section below and delete the other:

Bug reports:

The documentation says that ResourceSerailizer should be able to include resources by doing something like this:

post = Post.find(1)

JSONAPI::ResourceSerializer.new(PostResource,
  include: ['comments'],
).serialize_to_hash(PostResource.new(post, nil))

But when I do this I don't get an included section in the serialized output.

Additionally I don't find any tests in the test suite that demonstrate the documented way of doing it, but I find several tests that seem to achieve includes via much more verbose and laborious methods.

Am I missing something?

After banging my head against this a little more I found that the 0.10.x docs actually do match the current state of the master branch, but they don't match the latest 0.10.x release (0.10.7). Cutting a new release might help people avoid this problem.

Hi @lgebhardt

There seems to be an inconsistency between the docs and the serialize_to_hash change.

https://jsonapi-resources.com/v0.10/guide/serializer.html refers to serialize_to_hash. That method was re-added to the master branch in commit eb43272 in Jan 2021.

However the 0.10 series doesn't include the re-addition of serialize_to_hash since v0.10.7 only seems to include bugfixes - it seems it was branched off of v0.10.3 in Jan 2021.

Should I be running the 0.11 beta series to get this change? Or would it be feasible to create a new 0.10 series that includes it?

Thanks for your help!

Looking for the same. Inconsistencies between docs and implementation is getting in the way of adopting the gem. :(