Class Jabber::IqQueryVersion
In: lib/xmpp4r/iq/query/version.rb
Parent: IqQuery

Class for handling queries for ‘Software Version’ (JEP 0092)

Notice that according to JEP 0092 only the <os/> element can be omitted, <name/> (iname) and <version/> must be present

Methods

import   iname   iname=   new   os   os=   set_iname   set_os   set_version   version   version=  

Public Class methods

Create a new <query xmlns=’jabber:iq:version’/> element

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 17
17:     def initialize(iname='', version='', os=nil)
18:       super()
19:       add_namespace('jabber:iq:version')
20:       set_iname(iname)
21:       set_version(version)
22:       set_os(os)
23:     end

Public Instance methods

Import an element, deletes <name/>, <version/> and <os/> elements first

xe:[REXML::Element]

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 29
29:     def import(xe)
30:       delete_element('name')
31:       delete_element('version')
32:       delete_element('os')
33:       super
34:     end

Get the name of the software

This has been renamed to ‘iname’ here to keep REXML::Element#name accessible

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 41
41:     def iname
42:       first_element_text('name')
43:     end

Set the name of the software

The element won’t be deleted if text is nil as it must occur in a version query, but its text will be empty.

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 51
51:     def iname=(text)
52:       replace_element_text('name', text.nil? ? '' : text)
53:     end

Get the operating system or nil (os is not mandatory for Version Query)

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 90
90:     def os
91:       first_element_text('os')
92:     end

Set the os of the software

text:[String] or nil

[Source]

     # File lib/xmpp4r/iq/query/version.rb, line 97
 97:     def os=(text)
 98:       if text
 99:         replace_element_text('os', text)
100:       else
101:         delete_elements('os')
102:       end
103:     end

Set the name of the software (chaining-friendly)

result:[String] or nil

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 58
58:     def set_iname(text)
59:       self.iname = text
60:       self
61:     end

Set the os of the software (chaining-friendly)

text:[String] or nil

[Source]

     # File lib/xmpp4r/iq/query/version.rb, line 108
108:     def set_os(text)
109:       self.os = text
110:       self
111:     end

Set the version of the software (chaining-friendly)

text:[String]

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 82
82:     def set_version(text)
83:       self.version = text
84:       self
85:     end

Get the version of the software

result:[String] or nil

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 66
66:     def version
67:       first_element_text('version')
68:     end

Set the version of the software

The element won’t be deleted if text is nil as it must occur in a version query

[Source]

    # File lib/xmpp4r/iq/query/version.rb, line 75
75:     def version=(text)
76:       replace_element_text('version', text.nil? ? '' : text)
77:     end

[Validate]