module Rack::Test::Utils
def _build_parts(buffer, parameters)
def _build_parts(buffer, parameters) parameters.map do |name, value| if name =~ /\[\]\Z/ && value.is_a?(Array) && value.all? { |v| v.is_a?(Hash) } value.each do |hash| new_value = {} hash.each { |k, v| new_value[name + k] = v } _build_parts(buffer, new_value) end else [value].flatten.map do |v| if v.respond_to?(:original_filename) build_file_part(buffer, name, v) else build_primitive_part(buffer, name, v) end end end end end