# frozen_string_literal: true class FormTable def initialize(rows, **cols) @cols = cols @rows = rows end def add_to_form(form) Nokogiri::XML::Builder.with(form) do |xml| xml.reported do @cols.each do |var, label| xml.field(var: var.to_s, label: label.to_s) end end add_rows_to_xml(xml) end end protected def add_rows_to_xml(xml) @rows.each do |row| xml.item do row.each.with_index do |val, idx| xml.field(var: @cols.keys[idx].to_s) do xml.value val.to_s end end end end end end