README.md

Path: README.md
Last Update: Sat Feb 23 07:12:52 +0000 2019

# Spawn for Legacy

![demo]()

Kernel.spawn in ruby 1.9 solves all issues on asynchronous executions[[1]](http://ujihisa.blogspot.com/2010/03/how-to-run-external-command.html)[). But ruby 1.8, the legacy version of MRI, is still used on many environments.

This library provides `spawn()` which is almost perfectly compatible with ruby 1.9‘s. This library is pure ruby; you don‘t need to build it.

## Install

    gem install sfl

## How to use

    require 'rubygems'
    require 'sfl'

    spawn 'ls'

If your ruby is 1.9, `require ‘sfl’` doesn‘t do anything. If your ruby is 1.8, that defines `spawn`.

## How compatible this spawn is?

(I‘ll put the coverage here later)

## Misc.

  • At first I tried to use the name `spawn` as this gem library name, but the name was already used. The `spawn` gem library does not mean ruby 1.9‘s `spawn` at all.
  • Ruby 1.9‘s `open3` library, based on `spawn`, is very useful. I would like to port `open3` to ruby 1.8 in my future.

## Supports

  • (On MacOS) MRI 1.8.6, 1.8.7, 1.9.1, 1.9.2-rc2
  • (On UNIX) MRI 1.8.6, 1.8.7, 1.9.1, 1.9.2pre
  • (On Windows) MRI 1.9.1, 1.9.2pre

Currently there are no supports on:

  • MRI 1.8 on Windows
  • Other Ruby implementations such as JRuby, Rubinius and MacRuby

## Authors

Tatsuhiro Ujihisa <ujihisa.blogspot.com/>

Bernard Lambeau <revision-zero.org/>

Kenta Murata <mrkn.jp/>

[Validate]