# frozen_string_literal: true class CustomWizard::SubmissionSerializer < ApplicationSerializer attributes :id, :fields, :submitted_at, :user def include_user? object.wizard.user.present? end def user ::BasicUserSerializer.new(object.wizard.user, root: false).as_json end def fields @fields ||= begin result = {} object.wizard.template['steps'].each do |step| step['fields'].each do |field| if value = object.fields[field['id']] result[field['id']] = { value: value, type: field['type'], label: field['label'] } end end end result end end end