ruby-ole is a library for read/write access to OLE2 structured storage files, such as those produced by Microsoft Office, eg *.doc, *.msg etc.
It provides a simple and easy to use api, supporting read and write streaming, by providing transparent access to the "files" within OLE documents as IO-like objects, supporting all the expected operations.
Usage is very easy, thanks to an api modeled after zip/zipfilesystem.
A sample command line utility (oletool) is included which showcases some of the library functionality.