# 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