class Decidim::Forms::DataPortabilityUserAnswersSerializer
Public Instance Methods
serialize()
click to toggle source
Serializes an user answer for data portability
# File lib/decidim/forms/data_portability_user_answers_serializer.rb, line 8 def serialize { id: resource.id, user: { name: resource.user.name, email: resource.user.email }, questionnaire: { id: resource.question.questionnaire.id, title: translated_attribute(resource.question.questionnaire.title), description: translated_attribute(resource.question.questionnaire.description), tos: translated_attribute(resource.question.questionnaire.tos) }, question: { id: resource.question.id, body: translated_attribute(resource.question.body), description: translated_attribute(resource.question.description) }, answer: normalize_body(resource) } end
Private Instance Methods
attachments_for(resource)
click to toggle source
# File lib/decidim/forms/data_portability_user_answers_serializer.rb, line 36 def attachments_for(resource) return if resource.attachments.blank? resource.attachments.map(&:url) end
normalize_body(resource)
click to toggle source
# File lib/decidim/forms/data_portability_user_answers_serializer.rb, line 32 def normalize_body(resource) attachments_for(resource) || resource.body || resource.choices.pluck(:body) end