This post originated from an RSS feed registered with Ruby Buzz
by Daniel Berger.
Original Post: Rethinking PLATFORM
Feed Title: Testing 1,2,3...
Feed URL: http://djberg96.livejournal.com/data/rss
Feed Description: A blog on Ruby and other stuff.
It seems I and others have gotten ourselves into a wee bit of trouble by relying on RUBY_PLATFORM.match('mswin') over the years. With alternative implementations like JRuby and IronRuby running amok out there now, this is no longer a safe practice. In JRuby, for example, if you inspect the value of RUBY_PLATFORM it returns "java".
We'll ignore the fact that Sun and Microsoft hijacked the term "platform" for their own marketing ends. To me "platform" will always mean "operating system", but I know when I'm licked.
The ol' File::ALT_SEPARATOR trick is probably unwise as well if you want your code to work on VMS.
That leaves us rbconfig. Specifically, Config::CONFIG['host_os'], which shows up as "mswin32_80" when I use my version of Ruby built with VC++ 8.