Sha256: 4925dc1dc6fc44b969b59704461f1be14083e61f1ade4a3a857faa9336b5948c

Contents?: true

Size: 758 Bytes

Versions: 4

Compression:

Stored size: 758 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
    else
      :unix
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
childprocess-0.0.7 lib/childprocess.rb
childprocess-0.0.6 lib/childprocess.rb
childprocess-0.0.5 lib/childprocess.rb
childprocess-0.0.4 lib/childprocess.rb