sparklemotion/mechanize — pull request #392 by dapplebeforedawn (2014-09-21 04:15:55+00:00)
Title: `v.is_a?` replaced with `v.respond_to?`

This allows `Mechanize#post` to work with classes that delegate to `IO` objects, in addition to objects that inherit from `IO`.

The first example that comes to mind is [`ActionDispatch::Http::UploadedFile`](https://github.com/rails/rails/blob/5e6a8b911906ba0afb76b6c8ce8a916a31c8d3b1/actionpack/lib/action_dispatch/http/upload.rb#L50), but I can imagine others.

I think the existing tests are sufficient, but I'm happy to add some if you disagree.