Class: Jabber::Discovery::Helper

Inherits:
Object
  • Object
show all
Defined in:
lib/xmpp4r/discovery/helper/helper.rb

Overview

A Helper to manage service and item discovery.

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Helper

Returns a new instance of Helper.



13
14
15
# File 'lib/xmpp4r/discovery/helper/helper.rb', line 13

def initialize(client)
  @stream = client
end

Instance Method Details

#get_info_for(jid, node = nil) ⇒ Object

Service discovery on a JID.

jid
JID
return
Jabber::Discovery::IqQueryDiscoInfo


21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/xmpp4r/discovery/helper/helper.rb', line 21

def get_info_for(jid, node = nil)
  iq = Jabber::Iq.new(:get, jid)
  iq.from = @stream.jid
  disco = Jabber::Discovery::IqQueryDiscoInfo.new
  disco.node = node
  iq.add(disco)

  res = nil

  @stream.send_with_id(iq) { |reply|
    res = reply.query
  }

  res
end

#get_items_for(jid, node = nil) ⇒ Object

Item discovery on a JID.

jid
JID
return
Jabber::Discovery::IqQueryDiscoItems


41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/xmpp4r/discovery/helper/helper.rb', line 41

def get_items_for(jid, node = nil)
  iq = Jabber::Iq.new(:get, jid)
  iq.from = @stream.jid
  disco = Jabber::Discovery::IqQueryDiscoItems.new
  disco.node = node
  iq.add(disco)

  res = nil

  @stream.send_with_id(iq) { |reply|
    res = reply.query
  }

  res
end