# File lib/merb-core/test/helpers/multipart_request_helper.rb, line 61 def push_params(params, prefix = nil) params.sort_by {|k| k.to_s}.each do |key, value| param_key = prefix.nil? ? key : "#{prefix}[#{key}]" if value.respond_to?(:read) @multipart_params << FileParam.new(param_key, value.path, value.read) else if value.is_a?(Hash) || value.is_a?(Mash) push_params(value, param_key) elsif value.is_a?(Array) value.each { |v| push_params(v, "#{param_key}[]") } else @multipart_params << Param.new(param_key, value) end end end end