It's an unfortunate necessity that you need to write different code for windows sometimes or at the very least load different libraries since there is no fork(), etc. This is how you can tell.
# Returns true if we are running on a MS windows platform, false otherwise. def Kernel.is_windows? processor, platform, *rest = RUBY_PLATFORM.split("-") platform == 'mswin32' end