In Ruby 1.8.7, StringIO responds to path, but in 1.9.2, it no longer does, which causes UploadIO to break (composite_io.rb:69).
An easy solution would be to check for obj.respond_to? :path ? obj.path : "no local path" (in my tests, supplying a dummy local path seems to work), but I don't know if that causes problems down the line. If not, one of us could write a pull request.
Thanks for the great gem!
Feel free to send a pull request with that change, I'll merge it right away. Thanks for reporting the issue.