# File lib/childprocess.rb, line 12 def new(*args) case os when :macosx, :linux, :unix, :cygwin if posix_spawn? Unix::PosixSpawnProcess.new(args) elsif jruby? JRuby::Process.new(args) else Unix::ForkExecProcess.new(args) end when :windows Windows::Process.new(args) else raise Error, "unsupported platform #{platform.inspect}" end end