This post originated from an RSS feed registered with Ruby Buzz
by Daniel Berger.
Original Post: Extra methods for the IO class
Feed Title: Testing 1,2,3...
Feed URL: http://djberg96.livejournal.com/data/rss
Feed Description: A blog on Ruby and other stuff.
Today I released io-extra 0.1.0. This adds two class methods and two instance methods to Ruby's IO class. It includes:
* IO.closefrom(n) - Closes all open handles with a fileno greater than or equal to "n". * IO.fdwalk(n){ |fh| ... } - Yields a File object for each open file handle. * IO#directio? - Is your filehandle using directio? * IO#directio= - Turn directio on or off
Note that IO.closefrom and IO.fdwalk only apply to handles in the current process, not all handles. Also, I suspect that the directio methods may only be supported by Solaris.
You can get very close pure Ruby implementations of IO.closefrom and IO.fdwalk, but the C extension I used provides some minor technical superiority. On Win32, however, you'll still need the pure Ruby version. :)