Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.

Name: tests/monitor.rb 
1:
#!/usr/bin/ruby
2:
require 'riddl/client'
3:
 
4:
srv = Riddl::Client.new('http://localhost:9300','http://localhost:9300/?riddl-description')
5:
res = srv.resource("/Virtual%20Business%201/notifications/subscriptions")
6:
status, response = res.get
7:
sub = ''
8:
XML::Smart.string(response[0].value.read) do |doc|
9:
  doc.register_namespace "s",'http://riddl.org/ns/common-patterns/notifications-producer/1.0'
10:
  doc.find('/s:subscriptions/s:subscription/@id').each do |ele|
11:
    sub = ele.to_s
12:
  end
13:
end
14:
p sub
15:
view = srv.resource("/Virtual%20Business%201/notifications/subscriptions/#{sub}/ws/")
16:
view.ws do |conn|
17:
  conn.stream do |msg|
18:
    puts "<#{msg}>"
19:
  end
20:
  conn.disconnect do
21:
    EM::stop_event_loop
22:
  end
23:
end