Open jpboliv opened 6 months ago
Hi,
The library don't support excluding keys based on their values. What you can do, it use "SKIP" option, so it won't serialize "errors" if there aren't any. see test as example: https://github.com/yosiat/panko_serializer/blob/master/spec/panko/serializer_spec.rb#L181
class ApplicationSerializer < Panko::Serializer
attributes :errors
def errors
return Panko::SKIP unless object&.errors&.any?
object.errors.messages
end
end
@jpboliv that answers your question?
Hi! sorry for the late reply @yosiat , but that Panko::SKIP
option should be enough to help us!
I think it might be worth adding a reference on that feature to your documentation!
Cheers!
Hello. Maybe this option should be specified in the documentation?
Similar to https://github.com/yosiat/panko_serializer/issues/133
Is there a way to exclude attributes if its value is nil?
We're are migrating our API serialization library to yours, particularly because of performance reasons. And we have multiple instances of big payloads where there are fields that could be nil.
For example, this is how we include errors on our serializers, which leads us to instances where if the resource has no errors it will include it in the payload unnecessarily.
If it's not possible at the moment, is this a feature that you might consider adding support for in the future? For example a general config where you could skip all nil values.