lib/jsonapi/response_document.rb in jsonapi-resources-0.9.6 vs lib/jsonapi/response_document.rb in jsonapi-resources-0.9.7
- old
+ new
@@ -62,18 +62,23 @@
@operation_results.results.each do |result|
links.merge!(result.links)
# Build pagination links
if result.is_a?(JSONAPI::ResourcesOperationResult) || result.is_a?(JSONAPI::RelatedResourcesOperationResult)
- result.pagination_params.each_pair do |link_name, params|
- if result.is_a?(JSONAPI::RelatedResourcesOperationResult)
- relationship = result.source_resource.class._relationships[result._type.to_sym]
- links[link_name] = @serializer.link_builder.relationships_related_link(result.source_resource, relationship, query_params(params))
- else
- links[link_name] = @serializer.query_link(query_params(params))
+ result.pagination_params.each_pair do |link_name, params|
+ if result.is_a?(JSONAPI::RelatedResourcesOperationResult)
+ relationship = result.source_resource.class._relationships[result._type.to_sym]
+ unless relationship.exclude_link?(link_name)
+ link = @serializer.link_builder.relationships_related_link(result.source_resource, relationship, query_params(params))
end
+ else
+ unless @serializer.link_builder.primary_resource_klass.exclude_link?(link_name)
+ link = @serializer.link_builder.query_link(query_params(params))
+ end
end
+ links[link_name] = link unless link.blank?
+ end
end
end
links.deep_transform_keys { |key| @key_formatter.format(key) }
end
@@ -107,12 +112,12 @@
case result
when JSONAPI::ResourceOperationResult
@serializer.serialize_to_hash(result.resource)
when JSONAPI::ResourcesOperationResult
@serializer.serialize_to_hash(result.resources)
- when JSONAPI::LinksObjectOperationResult
- @serializer.serialize_to_links_hash(result.parent_resource,
- result.relationship)
+ when JSONAPI::RelationshipOperationResult
+ @serializer.serialize_to_relationship_hash(result.parent_resource,
+ result.relationship)
when JSONAPI::OperationResult
{}
end
elsif @operation_results.results.length > 1