From d6fbbbd7232636e4706ea2db6785656732ecec0f Mon Sep 17 00:00:00 2001 From: byplayer Date: Thu, 3 Jun 2010 02:54:16 +0900 Subject: [PATCH 08/11] implement put request --- lib/webrat/adapters/mechanize.rb | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/lib/webrat/adapters/mechanize.rb b/lib/webrat/adapters/mechanize.rb index cc70374..217b29a 100644 --- a/lib/webrat/adapters/mechanize.rb +++ b/lib/webrat/adapters/mechanize.rb @@ -39,6 +39,27 @@ module Webrat #:nodoc: @response = mechanize.post(url, post_data) end + def put(url, data, headers_argument_not_used = nil) + put_data = data.inject({}) do |memo, param| + case param + when Hash + 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 + when String + param + end + end + @response = mechanize.put(url, put_data) + end + def response_body @response.content end -- 1.7.1