# File lib/puppet/indirector/request.rb, line 119
119:   def query_string
120:     return "" unless options and ! options.empty?
121:     "?" + options.collect do |key, value|
122:       case value
123:       when nil; next
124:       when true, false; value = value.to_s
125:       when Fixnum, Bignum, Float; value = value # nothing
126:       when String; value = CGI.escape(value)
127:       when Symbol; value = CGI.escape(value.to_s)
128:       when Array; value = CGI.escape(YAML.dump(value))
129:       else
130:         raise ArgumentError, "HTTP REST queries cannot handle values of type '#{value.class}'"
131:       end
132: 
133:       "#{key}=#{value}"
134:     end.join("&")
135:   end