From 06bb72d24fd79a49a2922ac56058634cbcd1eb84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Gil?= Date: Tue, 13 Apr 2010 14:29:49 -0300 Subject: [PATCH] fix post method in mechanize adapter to handle data as array or hash it fixes spec/integration/mechanize/sample_app.rb:20 --- lib/webrat/adapters/mechanize.rb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/webrat/adapters/mechanize.rb b/lib/webrat/adapters/mechanize.rb index b052fa6..cc70374 100644 --- a/lib/webrat/adapters/mechanize.rb +++ b/lib/webrat/adapters/mechanize.rb @@ -22,13 +22,19 @@ module Webrat #:nodoc: def post(url, data, headers_argument_not_used = nil) post_data = data.inject({}) do |memo, param| - case param.last + case param when Hash - param.last.each {|attribute, value| memo["#{param.first}[#{attribute}]"] = value } - else - memo[param.first] = param.last + param.each {|attribute, value| memo[attribute] = value } + memo + when Array + case param.last + when Hash + param.last.each {|attribute, value| memo["#{param.first}[#{attribute}]"] = value } + else + memo[param.first] = param.last + end + memo end - memo end @response = mechanize.post(url, post_data) end