Class Jabber::PubSub::NodeBrowser
In: lib/xmpp4r/pubsub/helper/nodebrowser.rb
Parent: Object
Message Presence XMPPStanza Iq XMPPElement ErrorResponse X IqQuery JabberError ComponentAuthenticationFailure ArgumentError InvalidChatState SOCKS5Error ServerError NoNameXmlnsRegistered ServerDisconnected ClientAuthenticationFailure Connection Client Component Connection Client Singleton IdGenerator Comparable JID Enumerable CallbackList Items Publish StandardError REXML::Element Stream XMPPElement Location IqFeature StreamHost IqSiFile IqSiFileRange IqSi StreamHostUsed XRosterItem RosterItem C Body HTML UserItem XMUCUserInvite Configuration Retract IqPubSub Item IqPubSubOwner Event Subscription Unsubscribe Tune XDataField XDataReported XDataTitle XDataInstructions Feature Item Identity IqVcard PubSub::ServiceHelper Helper Helper SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IqQuery IqQueryBytestreams IqQueryRoster IqQueryVersion IqQueryRPC IqQueryMUCOwner IqQueryMUCAdmin IqQueryDiscoItems IqQueryDiscoInfo IqQueryLastActivity IBB IBBTarget IBBInitiator RosterXItem XRoster RosterX X XDelay XMUC XMUCUser XData Responder SimpleResponder Iq IqCommand XMLRPC::ParserWriterChooseMixin Client Server XMLRPC::ParseContentType XMLRPC::BasicServer MUCClient SimpleMUCClient MUC::UserItem XMUCUserItem IqQueryMUCAdminItem XParent SubscriptionConfig NodeConfig OwnerNodeConfig EventItems ServiceHelper OAuthServiceHelper NodeHelper EventItem Base Anonymous DigestMD5 Plain FileSource Base Bot Callback StreamParser Semaphore SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Helper Responder Helper Listener MUCBrowser NodeBrowser ListenerMocker Helper Responder Helper 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/location/helper/helper.rb lib/xmpp4r/location/location.rb UserLocation lib/xmpp4r/feature_negotiation/iq/feature.rb FeatureNegotiation 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/roster/x/roster.rb lib/xmpp4r/roster/helper/roster.rb lib/xmpp4r/roster/iq/roster.rb Roster lib/xmpp4r/version/helper/responder.rb lib/xmpp4r/version/helper/simpleresponder.rb lib/xmpp4r/version/iq/version.rb Version lib/xmpp4r/command/iq/command.rb lib/xmpp4r/command/helper/responder.rb Command lib/xmpp4r/caps/helper/helper.rb lib/xmpp4r/caps/c.rb Caps lib/xmpp4r/reliable.rb Reliable lib/xmpp4r/delay/x/delay.rb Delay 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/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/helper/oauth_service_helper.rb lib/xmpp4r/pubsub/children/event.rb lib/xmpp4r/pubsub/iq/pubsub.rb lib/xmpp4r/pubsub/children/retract.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 OAuthPubSubStreamHelper PubSub lib/xmpp4r/httpbinding/client.rb HTTPBinding lib/xmpp4r/tune/helper/helper.rb lib/xmpp4r/tune/tune.rb UserTune lib/xmpp4r/sasl.rb SASL lib/xmpp4r/test/listener_mocker.rb Test lib/xmpp4r/dataforms/x/data.rb Dataforms lib/xmpp4r/discovery/helper/helper.rb lib/xmpp4r/discovery/iq/discoinfo.rb lib/xmpp4r/discovery/helper/responder.rb lib/xmpp4r/discovery/iq/discoitems.rb Discovery lib/xmpp4r/bytestreams/helper/filetransfer.rb TransferSource FileTransfer lib/xmpp4r/last/helper/helper.rb lib/xmpp4r/last/iq/last.rb LastActivity lib/xmpp4r/framework/base.rb lib/xmpp4r/framework/bot.rb Framework lib/xmpp4r/vcard/helper/vcard.rb lib/xmpp4r/vcard/iq/vcard.rb Vcard Jabber dot/m_110_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 122
122:       def category(jid,node)
123:         info = get_info(jid,node)
124:         return info['category']
125:       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:           answer.query.each_element('x') { |x|
 99:             info['nodeinformation'] = x
100:           }
101:         end
102:         info
103:       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) do |answer|
49:           answer.query.each_element('item') do |item|
50:             nodes.push( {'node' => item.node,'name' => item.iname } )
51:           end
52:         end
53:         nodes
54:       end

get type of node

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

[Source]

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

[Validate]