class ActiveModelSerializers::Adapter::JsonApi

def resource_object_for(serializer)

{http://jsonapi.org/format/#document-resource-objects Document Resource Objects}
def resource_object_for(serializer)
  resource_object = serializer.fetch(self) do
    resource_object = ResourceIdentifier.new(serializer, instance_options).as_json
    requested_fields = fieldset && fieldset.fields_for(resource_object[:type])
    attributes = attributes_for(serializer, requested_fields)
    resource_object[:attributes] = attributes if attributes.any?
    resource_object
  end
  requested_associations = fieldset.fields_for(resource_object[:type]) || '*'
  relationships = relationships_for(serializer, requested_associations)
  resource_object[:relationships] = relationships if relationships.any?
  links = links_for(serializer)
  # toplevel_links
  # definition:
  #   allOf
  #      ☐ links
  #      ☐ pagination
  #
  # description:
  #  Link members related to the primary data.
  # structure:
  #   links.merge!(pagination)
  # prs:
  #   https://github.com/rails-api/active_model_serializers/pull/1247
  #   https://github.com/rails-api/active_model_serializers/pull/1018
  resource_object[:links] = links if links.any?
  # toplevel_meta
  #   alias meta
  # definition:
  #   meta
  # structure
  #   {
  #     :'git-ref' => 'abc123'
  #   }
  meta = meta_for(serializer)
  resource_object[:meta] = meta unless meta.blank?
  resource_object
end