Class: Jabber::Version::IqQueryVersion
- Inherits:
-
IqQuery
- Object
- REXML::Element
- IqQuery
- Jabber::Version::IqQueryVersion
- Defined in:
- lib/xmpp4r/version/iq/version.rb
Overview
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
Instance Method Summary collapse
-
#import(xe) ⇒ Object
- Import an element, deletes <name/>, <version/> and <os/> elements first xe
-
[REXML::Element].
-
#iname ⇒ Object
Get the name of the software.
-
#iname=(text) ⇒ Object
Set the name of the software.
-
#initialize(iname = '', version = '', os = nil) ⇒ IqQueryVersion
constructor
Create a new <query xmlns=‘jabber:iq:version’/> element.
-
#os ⇒ Object
Get the operating system or nil (os is not mandatory for Version Query).
-
#os=(text) ⇒ Object
- Set the os of the software text
- String
-
or nil.
-
#set_iname(text) ⇒ Object
- Set the name of the software (chaining-friendly) result
- String
-
or nil.
-
#set_os(text) ⇒ Object
- Set the os of the software (chaining-friendly) text
- String
-
or nil.
-
#set_version(text) ⇒ Object
- Set the version of the software (chaining-friendly) text
-
[String].
-
#version ⇒ Object
- Get the version of the software result
- String
-
or nil.
-
#version=(text) ⇒ Object
Set the version of the software.
Methods inherited from IqQuery
Methods inherited from REXML::Element
#delete_elements, #first_element, #first_element_text, import, #replace_element_text, #typed_add
Constructor Details
#initialize(iname = '', version = '', os = nil) ⇒ IqQueryVersion
Create a new <query xmlns=‘jabber:iq:version’/> element
18 19 20 21 22 23 24 |
# File 'lib/xmpp4r/version/iq/version.rb', line 18 def initialize(iname='', version='', os=nil) super() add_namespace('jabber:iq:version') set_iname(iname) set_version(version) set_os(os) end |
Instance Method Details
#import(xe) ⇒ Object
Import an element, deletes <name/>, <version/> and <os/> elements first
- xe
- REXML::Element
30 31 32 33 34 35 |
# File 'lib/xmpp4r/version/iq/version.rb', line 30 def import(xe) delete_element('name') delete_element('version') delete_element('os') super end |
#iname ⇒ Object
Get the name of the software
This has been renamed to ‘iname’ here to keep REXML::Element#name accessible
42 43 44 |
# File 'lib/xmpp4r/version/iq/version.rb', line 42 def iname first_element_text('name') end |
#iname=(text) ⇒ Object
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.
52 53 54 |
# File 'lib/xmpp4r/version/iq/version.rb', line 52 def iname=(text) replace_element_text('name', text.nil? ? '' : text) end |
#os ⇒ Object
Get the operating system or nil (os is not mandatory for Version Query)
91 92 93 |
# File 'lib/xmpp4r/version/iq/version.rb', line 91 def os first_element_text('os') end |
#os=(text) ⇒ Object
Set the os of the software
- text
- String
-
or nil
98 99 100 101 102 103 104 |
# File 'lib/xmpp4r/version/iq/version.rb', line 98 def os=(text) if text replace_element_text('os', text) else delete_elements('os') end end |
#set_iname(text) ⇒ Object
Set the name of the software (chaining-friendly)
- result
- String
-
or nil
59 60 61 62 |
# File 'lib/xmpp4r/version/iq/version.rb', line 59 def set_iname(text) self.iname = text self end |
#set_os(text) ⇒ Object
Set the os of the software (chaining-friendly)
- text
- String
-
or nil
109 110 111 112 |
# File 'lib/xmpp4r/version/iq/version.rb', line 109 def set_os(text) self.os = text self end |
#set_version(text) ⇒ Object
Set the version of the software (chaining-friendly)
- text
- String
83 84 85 86 |
# File 'lib/xmpp4r/version/iq/version.rb', line 83 def set_version(text) self.version = text self end |
#version ⇒ Object
Get the version of the software
- result
- String
-
or nil
67 68 69 |
# File 'lib/xmpp4r/version/iq/version.rb', line 67 def version first_element_text('version') end |
#version=(text) ⇒ Object
Set the version of the software
The element won’t be deleted if text is nil as it must occur in a version query
76 77 78 |
# File 'lib/xmpp4r/version/iq/version.rb', line 76 def version=(text) replace_element_text('version', text.nil? ? '' : text) end |