~singpolyma/sgx-jmp

ref: 045da39f25b74034e7bba44cb5f1db48a935ba84 sgx-jmp/lib/form_table.rb -rw-r--r-- 553 bytes
045da39fStephen Paul Weber Hotfix: arguments in wrong order 1 year, 1 month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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