Wrest is a fluent, easy-to-use, object oriented Ruby HTTP/REST client library with support for RFC2616 HTTP caching, multiple HTTP backends and async calls. It runs on CRuby and JRuby and is in production use at substantial scale.
To use Memcached as caching back-end, install the 'dalli' gem.
To use multipart post, install the 'multipart-post' gem.
To use curl as the http engine, install the 'patron' gem. This feature is not available (and should be unneccessary) on jruby.
To use eventmachine as a parallel backend, install the 'eventmachine' gem.