Sha256: cdcbb8dd2766f81168eaa17c2dcd5c17f146b5a6c0ce31beaaa3d590f48f2be0
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
# =XMPP4R - XMPP Library for Ruby # # This file's copyright (c) 2009 by Pablo Lorenzzoni <pablo@propus.com.br> # License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option. # Website::http://xmpp4r.github.io # module Jabber class Observable # Jabber::Observable::Contact - Convenience subclass to deal with Contacts class Contact # Creates a new Jabber::Observable::Contact # # jid:: jid to be used # observable:: observable to be used def initialize(jid, observable) @jid = jid.respond_to?(:resource) ? jid : JID.new(jid) @observable = observable end # Returns the stripped version of the JID def jid; @jid.strip; end def inspect #:nodoc: sprintf("#<%s:0x%x @jid=%s>", self.class.name, __id__, @jid.to_s) end # Are e subscribed? def subscribed? [:to, :both].include?(subscription) end # Get the subscription from the roster_item def subscription items = @observable.roster.items return false unless items.include?(jid) items[jid].subscription end # Send a request asking for authorization def ask_for_authorization! request!(:subscribe) end # Sends a request asking for unsubscription def unsubscribe! request!(:unsubscribe) end private # Really send the request. def request!(type) request = Jabber::Presence.new.set_type(type) request.to = jid @observable.send!(request) end end # of class Contact end # of class Observable end # of module Jabber
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
xmpp4r-0.5.6 | lib/xmpp4r/observable/contact.rb |