Celluloid 0.2.2: the first truly Ruby-like Actor library with Erlang awesomesauce

Celluloid is an Actor library for Ruby inspired by Erlang:

Celluloid wraps objects in threads, allowing them to run concurrently,
while
still letting you talk to them using standard Ruby method call
conventions.
It also enables asynchronous method calls which tell a method to do
something in the background, and futures, which let you request a method
be
executed then check back later for the result.

I just published a blog post detailing a lot more about how Celluloid
works
if you’re interested in finding out more:

The 0.2.2 release mainly focuses on bugfixes and responding to feedback
about difficulties in debugging Celluloid-based programs. 0.2.2 contains
several enhancements to the log output Celluloid gives whenever actors
crash
or various other errors have occurred. If you’ve been having difficulty
with
actors crashing without giving you any idea why, give Celluloid 0.2.2 a
try.

Here’s the full changelog:

  • Log failed async calls instead of just letting them fail silently
  • Properly handle arity of synchronous calls
  • Actors can now make async calls to themselves
  • Resolve crashes that occur when sending responses to exited/dead
    callers
  • AbortErrors now reraise in caller scope and provide a caller-focused
    backtrace