Class Jabber::PubSub::NodeBrowser
In: lib/xmpp4r/pubsub/helper/nodebrowser.rb
Parent: Object
Message Presence XMPPStanza Iq XMPPElement ErrorResponse X IqQuery JabberError ComponentAuthenticationFailure ArgumentError SOCKS5Error ServerError NoNameXmlnsRegistered ClientAuthenticationFailure Connection Client Component Client Singleton IdGenerator Comparable JID StandardError REXML::Element Stream IqQuery IqQueryVersion IqQueryRoster IqQueryBytestreams IqQueryRPC IqQueryMUCOwner IqQueryMUCAdmin IqQueryDiscoItems IqQueryDiscoInfo Responder SimpleResponder XRosterItem RosterXItem XMPPElement RosterItem IqFeature StreamHost IqSiFile IqSiFileRange IqSi StreamHostUsed C Body HTML UserItem XMUCUserInvite Tune Configuration Items Item IqPubSub Publish Event IqPubSubOwner Subscription Unsubscribe Feature Item Identity XDataField XDataReported XDataTitle XDataInstructions IqVcard XRoster RosterX X XMUC XMUCUser XDelay XData Iq IqCommand SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IBB IBBTarget IBBInitiator XMLRPC::ParserWriterChooseMixin Client Server XMLRPC::ParseContentType XMLRPC::BasicServer MUCClient SimpleMUCClient MUC::UserItem XMUCUserItem IqQueryMUCAdminItem XParent Base Anonymous DigestMD5 Plain PubSub::ServiceHelper Helper SubscriptionConfig NodeConfig OwnerNodeConfig EventItems EventItem ServiceHelper NodeHelper FileSource Base Bot CallbackList Callback StreamParser Semaphore Helper Responder SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Helper MUCBrowser NodeBrowser Responder Helper Helper lib/xmpp4r/message.rb lib/xmpp4r/connection.rb lib/xmpp4r/xmppstanza.rb lib/xmpp4r/iq.rb lib/xmpp4r/callbacks.rb lib/xmpp4r/idgenerator.rb lib/xmpp4r/stream.rb lib/xmpp4r/client.rb lib/xmpp4r/jid.rb lib/xmpp4r/x.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/semaphore.rb lib/xmpp4r/errors.rb lib/xmpp4r/component.rb lib/xmpp4r/presence.rb lib/xmpp4r/xmppelement.rb lib/xmpp4r/query.rb XParent lib/xmpp4r/version/helper/responder.rb lib/xmpp4r/version/helper/simpleresponder.rb lib/xmpp4r/version/iq/version.rb Version lib/xmpp4r/roster/x/roster.rb lib/xmpp4r/roster/helper/roster.rb lib/xmpp4r/roster/iq/roster.rb Roster lib/xmpp4r/feature_negotiation/iq/feature.rb FeatureNegotiation lib/xmpp4r/command/iq/command.rb lib/xmpp4r/command/helper/responder.rb Command lib/xmpp4r/bytestreams/iq/si.rb lib/xmpp4r/bytestreams/helper/ibb/initiator.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb lib/xmpp4r/bytestreams/iq/bytestreams.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb lib/xmpp4r/bytestreams/helper/ibb/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb lib/xmpp4r/bytestreams/helper/ibb/base.rb Bytestreams lib/xmpp4r/caps/helper/helper.rb lib/xmpp4r/caps/c.rb Caps lib/xmpp4r/xhtml/html.rb XHTML lib/xmpp4r/rpc/helper/server.rb lib/xmpp4r/rpc/helper/client.rb lib/xmpp4r/rpc/iq/rpc.rb RPC lib/xmpp4r/muc/iq/mucadminitem.rb lib/xmpp4r/muc/x/muc.rb lib/xmpp4r/muc/item.rb lib/xmpp4r/muc/helper/simplemucclient.rb lib/xmpp4r/muc/iq/mucadmin.rb lib/xmpp4r/muc/helper/mucbrowser.rb lib/xmpp4r/muc/x/mucuseritem.rb lib/xmpp4r/muc/x/mucuserinvite.rb lib/xmpp4r/muc/iq/mucowner.rb lib/xmpp4r/muc/helper/mucclient.rb MUC lib/xmpp4r/delay/x/delay.rb Delay lib/xmpp4r/sasl.rb SASL lib/xmpp4r/tune/helper/helper.rb lib/xmpp4r/tune/tune.rb UserTune lib/xmpp4r/pubsub/children/item.rb lib/xmpp4r/pubsub/children/configuration.rb lib/xmpp4r/pubsub/children/subscription.rb lib/xmpp4r/pubsub/helper/servicehelper.rb lib/xmpp4r/pubsub/children/unsubscribe.rb lib/xmpp4r/pubsub/children/publish.rb lib/xmpp4r/pubsub/children/event.rb lib/xmpp4r/pubsub/iq/pubsub.rb lib/xmpp4r/pubsub/helper/nodebrowser.rb lib/xmpp4r/pubsub/helper/nodehelper.rb lib/xmpp4r/pubsub/children/items.rb lib/xmpp4r/pubsub/children/subscription_config.rb lib/xmpp4r/pubsub/children/node_config.rb PubSub lib/xmpp4r/httpbinding/client.rb HTTPBinding lib/xmpp4r/discovery/iq/discoinfo.rb lib/xmpp4r/discovery/helper/responder.rb lib/xmpp4r/discovery/iq/discoitems.rb Discovery lib/xmpp4r/dataforms/x/data.rb Dataforms lib/xmpp4r/bytestreams/helper/filetransfer.rb TransferSource FileTransfer lib/xmpp4r/vcard/helper/vcard.rb lib/xmpp4r/vcard/iq/vcard.rb Vcard lib/xmpp4r/framework/base.rb lib/xmpp4r/framework/bot.rb Framework Jabber dot/m_99_0.png

Methods

category   get_info   get_metadata   items   new   nodes   nodes_names   type  

Public Class methods

Initialize a new NodeBrowser new(stream,pubsubservice)

stream:[Jabber::Stream]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodebrowser.rb, line 14
14:       def initialize(stream)
15:         @stream = stream
16:       end

Public Instance methods

get category of node

jid:[Jabber::JID]
node:[String]

[Source]

     # File lib/xmpp4r/pubsub/helper/nodebrowser.rb, line 123
123:       def category(jid,node)
124:         info = get_info(jid,node)
125:         return info['category']
126:       end

get disco info for a node

jid:[Jabber::JID]
node:[String]
return:: [Hash] with possible keys type:: [String] ,category:: [String],features:: [Array] of feature, nodeinformation:[Jabber::XData]

check www.xmpp.org/extensions/xep-0060.html#entity for more infos

[Source]

     # File lib/xmpp4r/pubsub/helper/nodebrowser.rb, line 86
 86:       def get_info(jid,node)
 87:         iq = Iq.new(:get,jid)
 88:         iq.from = @stream.jid
 89:         discoinfo = Discovery::IqQueryDiscoInfo.new
 90:         discoinfo.node = node
 91:         iq.add(discoinfo)
 92:         info = {}
 93:         @stream.send_with_id(iq) do |answer|
 94:           identity = answer.query.identity
 95:           info['type'] = identity.type
 96:           info['category'] = identity.category
 97:           info['features'] = answer.query.features
 98:           
 99:           answer.query.each_element('x') { |x|
100:             info['nodeinformation'] = x
101:           }
102:         end
103:         info
104:       end
get_metadata(jid,node)

Alias for get_info

Retrieve the items from a node Throws an ServerError when receiving <iq type=‘error’/>

jid:[Jabber::JID] Target entity (set only domain!)
node:[String]
return:[Array] of [Hash] with keys ‘name’ => [String] and ‘jid’ => [Jabber::JID]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodebrowser.rb, line 64
64:       def items(jid,node)
65:         iq = Iq.new(:get,jid)
66:         iq.from = @stream.jid
67:         discoitems = Discovery::IqQueryDiscoItems.new
68:         discoitems.node = node
69:         iq.add(discoitems)
70:         items = []
71:         err = nil
72:         @stream.send_with_id(iq) do |answer|
73:           answer.query.each_element('item') { |item|
74:             items.push( {'jid' => item.jid,'name' => item.iname } )
75:           }
76:         end
77:         items
78:       end

Retrieve the nodes Throws an ServerError when receiving <iq type=‘error’/>

jid:[JID] Target entity (set only domain!)
return:[Array] of [String] or [nil]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodebrowser.rb, line 24
24:       def nodes(jid)
25:         iq = Iq.new(:get,jid)
26:         iq.from = @stream.jid
27:         iq.add(Discovery::IqQueryDiscoItems.new)
28:         nodes = []
29:         @stream.send_with_id(iq) do |answer|
30:           answer.query.each_element('item') { |item|
31:             nodes.push(item.node)
32:           }
33:         end
34:         nodes
35:       end

Retrieve the nodes with names Throws a ServerError when receiving <iq type=‘error’/>

jid:[Jabber::JID] Target entity (set only domain!)
return:[Array] of [Hash] with keys ‘node’ => [String] and ‘name’ => [String] or [nil]

[Source]

    # File lib/xmpp4r/pubsub/helper/nodebrowser.rb, line 43
43:       def nodes_names(jid)
44:         iq = Iq.new(:get,jid)
45:         iq.from = @stream.jid
46:         iq.add(Discovery::IqQueryDiscoItems.new)
47:         nodes = []
48:         @stream.send_with_id(iq) { |answer|
49:           answer.query.each_element('item') do |item|
50:             nodes.push( {'node' => item.node,'name' => item.iname } )
51:           }
52:         end
53:         nodes
54:       end

get type of node

jid:[Jabber::JID]
node:[String]

[Source]

     # File lib/xmpp4r/pubsub/helper/nodebrowser.rb, line 113
113:       def type(jid,node)
114:         info = get_info(jid,node)
115:         return info['type']
116:       end

[Validate]