Ninjas on a Penny Farthing

  posted  

Perennial

An evented application library for Ruby

About this Project

View on GitHub: http://github.com/Sutto/perennial

Perennial was the generalised result of a lot of work on Marvin. Originally coded as the core of Marvin, it encompasses the general features I use for most evented applications (be it a twitter client with BirdGrinder or a IRC client with Marvin) in a simple, reusable package.

Also, it’s designed in a way that eliminates many dependencies whilst still implementing a bunch of reusable features / features such as:

  • An argument and option parser like optparse
  • Simple generators for application
  • A generalised application framework (bootstrapping, code reloading, logging etc)
  • Daemon management utilities
  • An implementation of hooks for applications / callbacks on classes.
  • An implementation of the delegator pattern
  • An implementation of the Marvin / BirdGrinder dispatchable event model
  • Common core extensions used by the library
  • EventMachine and Ruby implementations of a simple RPC system on top of JSON

One of the more interesting parts, the dispatchable event model, plays a key role in terms of modelling evented applications and I hope to get a chance to blog about it sometime soon.

Recent Commits to GitHub Repository

  • Loading commit information...