Jabber::Observable builds on the strong foundation of XMPP4R and use a customized version of Ruby's builtin Observer pattern to expose XMPP observable things (as messages, pubsub events, presence, etc).
Pablo Lorenzoni
gem "xmpp4r-observable", "~> 0.5.4"