Class Jabber::Discovery::IqQueryDiscoItems
In: lib/xmpp4r/discovery/iq/discoitems.rb
Parent: IqQuery

Class for handling Service Discovery queries, items (JEP 0030)

This <query/> may contain multiple Item elements, describing multiple services to be browsed by Jabber clients. These may then get further information about these items by querying IqQueryDiscoInfo and further sub-items by querying IqQueryDiscoItems.

Methods

new   node   node=   set_node   typed_add  

Public Class methods

Create a new query with namespace jabber.org/protocol/disco#items

[Source]

    # File lib/xmpp4r/discovery/iq/discoitems.rb, line 23
23:       def initialize
24:         super
25:         add_namespace('http://jabber.org/protocol/disco#items')
26:       end

Public Instance methods

Get the queried Service Discovery node or nil

A Service Discovery node is not a JID node, this may be a bit confusing. It‘s just to make Service Discovery browsing a bit more structured.

[Source]

    # File lib/xmpp4r/discovery/iq/discoitems.rb, line 52
52:       def node
53:         attributes['node']
54:       end

Get the queried Service Discovery node or nil

[Source]

    # File lib/xmpp4r/discovery/iq/discoitems.rb, line 58
58:       def node=(val)
59:         attributes['node'] = val
60:       end

Get the queried Service Discovery node or nil (chaining-friendly)

[Source]

    # File lib/xmpp4r/discovery/iq/discoitems.rb, line 65
65:       def set_node(val)
66:         self.node = val
67:         self
68:       end

Add a children element

Converts <item/> elements to [Item]

[Source]

    # File lib/xmpp4r/discovery/iq/discoitems.rb, line 32
32:       def typed_add(element)
33:         if element.kind_of?(REXML::Element)
34: 
35:           if element.name == 'item'
36:             super(Item::new.import(element))
37:           else
38:             super(element)
39:           end
40: 
41:         else
42:           super(element)
43:         end
44:       end

[Validate]