Module: ChildProcess

Defined in:
lib/pdk/monkey_patches.rb

Overview

Patch childprocess so that it is Ruby 3 compliant. This could be removed if the following PR is ever merged and released: github.com/enkessler/childprocess/pull/185

Defined Under Namespace

Modules: Windows Classes: AbstractProcess

Class Method Summary collapse

Class Method Details

.build(*args) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/pdk/monkey_patches.rb', line 16

def build(*args)
  case os
  when :macosx, :linux, :solaris, :bsd, :cygwin, :aix
    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_name.inspect}"
  end
end