diff --git a/lib/summon/transport/headers.rb b/lib/summon/transport/headers.rb index e08b3df..0dcf09c 100644 --- a/lib/summon/transport/headers.rb +++ b/lib/summon/transport/headers.rb @@ -43,7 +43,7 @@ def digest end def qstr - to_query_string(@params, false) + to_query_string(@params, false, lambda {|k,v| v.nil? }) end private diff --git a/lib/summon/transport/qstring.rb b/lib/summon/transport/qstring.rb index dfbb413..b21e1f9 100644 --- a/lib/summon/transport/qstring.rb +++ b/lib/summon/transport/qstring.rb @@ -5,8 +5,9 @@ module Summon::Transport module Qstring - def to_query_string(hash, urlencode = true) - hash.reject {|k,v| v.nil? || v == ''}.inject([]) do |qs,pair| + def to_query_string(hash, urlencode = true, + reject = lambda {|k,v| v.nil? || v == ''}) + hash.reject(&reject).inject([]) do |qs,pair| qs.tap do k,v = pair if v.is_a?(Array)