def render_field(field, data, label_width)
if field.is_a? Fields::ContainerField
output = ""
idx = 0
data = [data] unless data.is_a? Array
data.each do |d|
idx += 1
fields_output = render_fields(field.fields, d).indent_with(GROUP_INDENT)
if field.is_a?(Fields::Collection) && field.parameters[:numbered]
fields_output = fields_output.sub(/^[ ]{4}/, " %-3s" % "#{idx})")
end
output += fields_output
output += "\n"
end
render_label(field, label_width) + "\n" + output.rstrip
else
render_label(field, label_width) +
render_value(field, data)
end
end