Original README introducing RxRuby
This fork is an attempt to complete RxRuby which appear to have been abandoned relatively close to completing a first version.
Reactive Extensions is becoming an established style, much thanks to Angular using RxJS, which has heavily inspired RxRuby. RxRuby can help in some simple cases (e.g. operating on infinite streams), but its real value lies in helping make development of multi-threaded stream processing feasible on MRI. First, it takes care of most of the concurrency complexity. It also makes it easy to write code that can be unit tested without having to cope with extensive cross-thread coordination (especially painful on MRI because Ruby is short on concurrency primitives).
Therefore the goal of this push is to achieve feature parity with RxJS 5 and good internal thread safety.
Get test coverage above 99% and iron out any bugs found; the current codebase appears to have numerous shallow bugs. RxJS 5 is the authoritative source of expected behaviour, so some RxRuby interface changes may be needed to follow. Tag release as 0.1.0 so that it can be securely referenced from Gemfile.
Unit test coverage on development branch:
It's gonna be green, yo!
The goal of this effort is to improve the existing "rx" gem on RubyGems rather than to release a forked gem. These changes would ideally be merged upstream.
Complete rdoc API documentation and write a proper introduction so that new users understand how to apply RxRuby to their own problems. This also includes making sure that the API is as close to RxJS 5 as is reasonable. Release as 0.2.0.
Write a concurrency test suite to straighten out the RxRuby components that need to be properly concurrent in order to provide the one-event-at-a-time guarantee on which users and most operators depend. Release 0.5.0.