lib/blather/stanza/pubsub/subscribe.rb in blather-0.4.7 vs lib/blather/stanza/pubsub/subscribe.rb in blather-0.4.8

- old
+ new

@@ -1,42 +1,68 @@ module Blather class Stanza class PubSub + # # PubSub Subscribe Stanza + # + # [XEP-0060 Section 6.1 - Subscribe to a Node](http://xmpp.org/extensions/xep-0060.html#subscriber-subscribe) + # + # @handler :pubsub_subscribe class Subscribe < PubSub register :pubsub_subscribe, :subscribe, self.registered_ns + # Create a new subscription node + # + # @param [Blather::Stanza::Iq::VALID_TYPES] type the IQ stanza type + # @param [String] host the host name to send the request to + # @param [String] node the node to subscribe to + # @param [Blather::JID, #to_s] jid see {#jid=} def self.new(type = :set, host = nil, node = nil, jid = nil) new_node = super(type, host) new_node.node = node new_node.jid = jid new_node end + # Get the JID of the entity to subscribe + # + # @return [Blather::JID] def jid JID.new(subscribe[:jid]) end + # Set the JID of the entity to subscribe + # + # @param [Blather::JID, #to_s] jid def jid=(jid) subscribe[:jid] = jid end + # Get the name of the node to subscribe to + # + # @return [String] def node subscribe[:node] end + # Set the name of the node to subscribe to + # + # @param [String] node def node=(node) subscribe[:node] = node end + # Get or create the actual subscribe node on the stanza + # + # @return [Blather::XMPPNode] def subscribe unless subscribe = pubsub.find_first('ns:subscribe', :ns => self.class.registered_ns) self.pubsub << (subscribe = XMPPNode.new('subscribe', self.document)) subscribe.namespace = self.pubsub.namespace end subscribe end - end #Subscribe + end # Subscribe -end #PubSub -end #Stanza -end #Blather +end # PubSub +end # Stanza +end # Blather