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

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

This <query/> may contain multiple DiscoItem 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/iq/query/discoitems.rb, line 22
22:     def initialize
23:       super
24:       add_namespace('http://jabber.org/protocol/disco#items')
25:     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/iq/query/discoitems.rb, line 51
51:     def node
52:       attributes['node']
53:     end

Get the queried Service Discovery node or nil

[Source]

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

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

[Source]

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

Add a children element

Converts <item/> elements to [DiscoItem]

[Source]

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

[Validate]