module Rack::Test::Utils
def build_nested_query(value, prefix = nil)
Build a query string for the given value and prefix. The value
def build_nested_query(value, prefix = nil) case value when Array if value.empty? "#{prefix}[]=" else prefix += "[]" unless unescape(prefix).end_with?('[]') value.map do |v| build_nested_query(v, prefix.to_s) end.join('&') end when Hash value.map do |k, v| build_nested_query(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k)) end.join('&') when NilClass prefix.to_s else "#{prefix}=#{escape(value)}" end end