Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A simple and powerful event broadcast daemon, written in Ruby
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.gitignore
COPYING
README.rdoc
Rakefile
union_station.gemspec

README.rdoc

Union Station

Union Station is a Ruby event broadcasting and listening daemon. It was inspired heavily by Ben LeMasurier's own blode.js, a very similar (and awesome) project used in SparkFun Electronics' blodeJazz.

The name Union Station is a tribute to Denver's Union Station, a train station built in 1894.

History

Work on Union Station started as a part of scroll, a framework for securely running extremely scriptable applications on Linux servers. With a list of new features to add to scroll 0.7 (including an event notification center), I remembered SparkFun's project and decided to roll my own event daemon.

Overview

+-------------+ +-------------+ +-------------+
|    Java     | |     PHP     | |    Rails    | #<= Event sources: servers,
| application | | application | | application | #<= daemons, syslog, etc
+-------------+ +-------------+ +-------------+
       \               |               /     
         \             |             /
           \           |           /
             \         |         /
               \       |       /
                 \     |     /
              +-----------------+
              |  Union Station  |               #<= Event dispatcher
              +-----------------+
                       |
                       |
                       |
              +-----------------+
              | Event listeners |               #<= Event listeners
              |   (anything!)   |               #<= Whatever you want!
              +-----------------+

Union Station provides a JSON interface to broadcast and receive events, and a Ruby library to directly interface with the Union Station daemon.

Something went wrong with that request. Please try again.