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
Create a new <query xmlns='jabber:iq:version'/> element
# File lib/xmpp4r/version/iq/version.rb, line 20 def initialize(iname=nil, version=nil, os=nil) super() set_iname(iname) if iname set_version(version) if version set_os(os) if os end
Get the name of the software
This has been renamed to 'iname' here to keep REXML::Element#name accessible
# File lib/xmpp4r/version/iq/version.rb, line 32 def iname first_element_text('name') 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.
# File lib/xmpp4r/version/iq/version.rb, line 42 def iname=(text) replace_element_text('name', text.nil? ? '' : text) end
Get the operating system or nil (os is not mandatory for Version Query)
# File lib/xmpp4r/version/iq/version.rb, line 81 def os first_element_text('os') end
Set the os of the software
or nil
# File lib/xmpp4r/version/iq/version.rb, line 88 def os=(text) if text replace_element_text('os', text) else delete_elements('os') end end
Set the name of the software (chaining-friendly)
or nil
# File lib/xmpp4r/version/iq/version.rb, line 49 def set_iname(text) self.iname = text self end
Set the os of the software (chaining-friendly)
or nil
# File lib/xmpp4r/version/iq/version.rb, line 99 def set_os(text) self.os = text self end
Set the version of the software (chaining-friendly)
# File lib/xmpp4r/version/iq/version.rb, line 73 def set_version(text) self.version = text self end
Get the version of the software
or nil
# File lib/xmpp4r/version/iq/version.rb, line 57 def version first_element_text('version') 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
# File lib/xmpp4r/version/iq/version.rb, line 66 def version=(text) replace_element_text('version', text.nil? ? '' : text) end