Disclaimer: Ruby newbie here.

Does Ruby have a multitasking server that will react to events and run
user code based on those events? I'm not looking for a specialized
server that is only web or tcp. I would like to handle other things as
well, say for example incoming serial data.

In Perl, I would use POE (http://poe.perl.org/?What_POE_Is) for such a
thing, and in Python there is the Twisted framework
(http://twistedmatrix.com/).

Thanks in advance.

-- 
Mark Thomas