Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
= Name Jabber::Observable - An easy to use, observable Jabber client library with PubSub support. = Synopsis # Send a message to a friend, asking for authorization if necessary: im = Jabber::Observable.new("email@example.com", "password") im.deliver("firstname.lastname@example.org", "Hey there friend!") # Register a new observer for incoming messages: observer = SomeObserverClass.new im.add_observer(:message, observer) # Unregister the observer: im.delete_observer(:message, observer) # Send an authorization request to a user: im.subs.add("email@example.com") # Remove a user from your contact list: im.subs.remove("firstname.lastname@example.org") # Create a PubSub node: im.pubsub.create_node("/mynode") # Publishing something to the node: im.pubsub.publish_simple_item("/mynode", "body", "something") # Subscribing to a node: im.pubsub.subscribe_to("/othernode") # Get my nodes: im.pubsub.my_nodes # Get my subscriptions: im.pubsub.subscriptions # Register an observer for events on nodes I subscribed to: im.add_observer(:event, observer) # Attach an auto-observer (this gets everything that can be observed and # makes it available in queues): im.attach_auto_observer # Receive messages via the auto-observer if im.auto.received?(:message) im.auto.received(:message).each do |msg| puts msg.body end end # Dettach the auto-observer im.dettach_auto_observer # See the Jabber::Observable documentation for more information. = Description Jabber::Observable is intended to make Jabber client programming simple and poweful. This library exposes common tasks in messaging, subscription handling and Publication and Subscription (PubSub) of nodes using a variation of Ruby's builtin Observer pattern, lowering the need to monitor queues using threads. For those that still want to use threads, there's an auto-observer that can be easily attached. = Copyright Jabber::Observable - An observable Jabber client library with PubSub support. Copyright (C) 2008-2009 Pablo Lorenzzoni <email@example.com>. Based on and inspired by: Jabber::Simple by Blaine Cook <firstname.lastname@example.org>. Jabber::Observable is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Jabber::Observable is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Jabber::Observable; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA