Class Jabber::Version::IqQueryVersion
In: lib/xmpp4r/version/iq/version.rb
Parent: IqQuery
XMLStanza Message Presence Iq REXML::Element X IqQuery Error StreamHost IqSiFileRange IqSiFile StreamHostUsed IqSi XRosterItem RosterItem IqFeature XMUCUserItem XMUCUserInvite XDataField XDataReported XDataTitle XDataInstructions Feature Identity Item IqVcard Singleton IdGenerator Connection Client Component Comparable JID RuntimeError AuthenticationFailure ErrorException SOCKS5Error Stream SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IBB IBBTarget IBBInitiator IqQuery IqQueryBytestreams IqQueryVersion IqQueryRoster IqQueryDiscoItems IqQueryDiscoInfo Responder SimpleResponder X XRoster XMUCUser XMUC XDelay XData MUCClient SimpleMUCClient Base DigestMD5 Plain FileSource StreamParser SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Helper MUCBrowser Helper Helper lib/xmpp4r/authenticationfailure.rb lib/xmpp4r/idgenerator.rb lib/xmpp4r/connection.rb lib/xmpp4r/iq.rb lib/xmpp4r/jid.rb lib/xmpp4r/xmlstanza.rb lib/xmpp4r/errorexception.rb lib/xmpp4r/stream.rb lib/xmpp4r/client.rb lib/xmpp4r/x.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/error.rb lib/xmpp4r/component.rb lib/xmpp4r/query.rb lib/xmpp4r/message.rb lib/xmpp4r/presence.rb lib/xmpp4r/bytestreams/helper/ibb/initiator.rb lib/xmpp4r/bytestreams/iq/si.rb lib/xmpp4r/bytestreams/iq/bytestreams.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb lib/xmpp4r/bytestreams/helper/ibb/base.rb lib/xmpp4r/bytestreams/helper/ibb/target.rb Bytestreams lib/xmpp4r/version/iq/version.rb lib/xmpp4r/version/helper/responder.rb lib/xmpp4r/version/helper/simpleresponder.rb Version lib/xmpp4r/roster/helper/roster.rb lib/xmpp4r/roster/iq/roster.rb lib/xmpp4r/roster/x/roster.rb Roster lib/xmpp4r/feature_negotiation/iq/feature.rb FeatureNegotiation lib/xmpp4r/muc/x/muc.rb lib/xmpp4r/muc/helper/mucclient.rb lib/xmpp4r/muc/x/mucuseritem.rb lib/xmpp4r/muc/helper/mucbrowser.rb lib/xmpp4r/muc/x/mucuserinvite.rb lib/xmpp4r/muc/helper/simplemucclient.rb MUC lib/xmpp4r/sasl.rb SASL lib/xmpp4r/bytestreams/helper/filetransfer.rb TransferSource FileTransfer lib/xmpp4r/delay/x/delay.rb Delay lib/xmpp4r/dataforms/x/data.rb Dataforms lib/xmpp4r/discovery/iq/discoinfo.rb lib/xmpp4r/discovery/iq/discoitems.rb Discovery lib/xmpp4r/vcard/helper/vcard.rb lib/xmpp4r/vcard/iq/vcard.rb Vcard Jabber dot/m_60_0.png

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/version/iq/version.rb, line 18
18:       def initialize(iname='', version='', os=nil)
19:         super()
20:         add_namespace('jabber:iq:version')
21:         set_iname(iname)
22:         set_version(version)
23:         set_os(os)
24:       end

Public Instance methods

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

xe:[REXML::Element]

[Source]

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

Get the name of the software

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

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 42
42:       def iname
43:         first_element_text('name')
44:       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/version/iq/version.rb, line 52
52:       def iname=(text)
53:         replace_element_text('name', text.nil? ? '' : text)
54:       end

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

[Source]

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

Set the os of the software

text:[String] or nil

[Source]

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

Set the name of the software (chaining-friendly)

result:[String] or nil

[Source]

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

Set the os of the software (chaining-friendly)

text:[String] or nil

[Source]

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

Set the version of the software (chaining-friendly)

text:[String]

[Source]

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

Get the version of the software

result:[String] or nil

[Source]

    # File lib/xmpp4r/version/iq/version.rb, line 67
67:       def version
68:         first_element_text('version')
69:       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/version/iq/version.rb, line 76
76:       def version=(text)
77:         replace_element_text('version', text.nil? ? '' : text)
78:       end

[Validate]