diff options
author | James Tucker <jftucker@gmail.com> | 2014-08-03 14:17:02 -0300 |
---|---|---|
committer | James Tucker <jftucker@gmail.com> | 2014-08-03 14:17:02 -0300 |
commit | 33075a489b85d43fc0be55d3503cc236f349e2f8 (patch) | |
tree | eaa0eed131452e62d55c97ba912993eca008fe96 | |
parent | 6ee42d625f68b09a2864ddcc6ee7b9bbd69fd31e (diff) | |
parent | c34b5790af6733571522adf7cc91e9e85c4a3b64 (diff) | |
download | rack-33075a489b85d43fc0be55d3503cc236f349e2f8.tar.gz |
Merge branch 'spastorino'
* spastorino: build_nested_query includes integer values Conflicts: lib/rack/utils.rb
-rw-r--r-- | lib/rack/utils.rb | 6 | ||||
-rw-r--r-- | test/spec_utils.rb | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/rack/utils.rb b/lib/rack/utils.rb index 691a4a6e..69a96eb9 100644 --- a/lib/rack/utils.rb +++ b/lib/rack/utils.rb @@ -179,11 +179,11 @@ module Rack value.map { |k, v| build_nested_query(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k)) }.reject(&:empty?).join('&') - when String + when nil + prefix + else raise ArgumentError, "value must be a Hash" if prefix.nil? "#{prefix}=#{escape(value)}" - else - prefix end end module_function :build_nested_query diff --git a/test/spec_utils.rb b/test/spec_utils.rb index 4ee2d03f..06ed5636 100644 --- a/test/spec_utils.rb +++ b/test/spec_utils.rb @@ -248,6 +248,8 @@ describe Rack::Utils do Rack::Utils.build_nested_query("foo" => "1", "bar" => "2"). should.be equal_query_to("foo=1&bar=2") + Rack::Utils.build_nested_query("foo" => 1, "bar" => 2). + should.be equal_query_to("foo=1&bar=2") Rack::Utils.build_nested_query("my weird field" => "q1!2\"'w$5&7/z8)?"). should.be equal_query_to("my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F") |