Sha256: 39fcd592eb4bc81183b8965266dd5671faec6334009c7f30851044503a3bcd42

Contents?: true

Size: 737 Bytes

Versions: 3

Compression:

Stored size: 737 Bytes

Contents

require 'childprocess/abstract_process'
require 'childprocess/errors'

module ChildProcess
  autoload :Unix,     'childprocess/unix'
  autoload :Windows,  'childprocess/windows'
  autoload :JRuby,    'childprocess/jruby'
  autoload :IronRuby, 'childprocess/ironruby'

  def self.build(*args)
    case platform
    when :jruby
      JRuby::Process.new(args)
    when :ironruby
      IronRuby::Process.new(args)
    when :windows
      Windows::Process.new(args)
    else
      Unix::Process.new(args)
    end
  end

  def self.platform
    if RUBY_PLATFORM == "java"
      :jruby
    elsif defined?(RUBY_ENGINE) && RUBY_ENGINE == "ironruby"
      :ironruby
    elsif RUBY_PLATFORM =~ /mswin|msys|mingw32/
      :windows
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
childprocess-0.0.3 lib/childprocess.rb
childprocess-0.0.2 lib/childprocess.rb
childprocess-0.0.1 lib/childprocess.rb