Class Jabber::Helpers::Version
In: lib/xmpp4r/helpers/version.rb
Parent: Object

A class to answer version requests using IqQueryVersion

This is simplification as one doesn’t need dynamic version answering normally.

Example usage:

 Jabber::Helpers::Version.new(my_client, "My cool XMPP4R script", "1.0", "Younicks")

Methods

iq_callback   new  

Attributes

name  [RW] 
os  [RW] 
version  [RW] 

Public Class methods

Initialize a new version responder

Registers it’s callback (prio = 180, ref = "Helpers::Version")

stream:[Stream] Where to register callback handlers
name:[String] Software name for answers
version:[String] Software versio for answers
os:[String] Optional operating system name for answers

[Source]

    # File lib/xmpp4r/helpers/version.rb, line 31
31:       def initialize(stream, name, version, os=nil)
32:         @stream = stream
33: 
34:         @name = name
35:         @version = version
36:         @os = os
37: 
38:         stream.add_iq_callback(180, "Helpers::Version") { |iq|
39:           iq_callback(iq)
40:         }
41:       end

Public Instance methods

<iq/> callback handler to answer Software Version queries (registered by constructor and used internally only)

Used internally

[Source]

    # File lib/xmpp4r/helpers/version.rb, line 48
48:       def iq_callback(iq)
49:         if iq.type == :get
50:           if iq.query.kind_of?(IqQueryVersion)
51:             iq.from, iq.to = iq.to, iq.from
52:             iq.type = :result
53:             iq.query.set_iname(@name).set_version(@version).set_os(@os)
54: 
55:             @stream.send(iq)
56: 
57:             true
58:           end
59:         end
60:       end

[Validate]