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: examples/p34_reload.rb 
1:
#!/usr/bin/ruby
2:
require 'riddl/client'
3:
require 'xml/smart'
4:
require 'pp'
5:
 
6:
srv = Riddl::Client.new("http://localhost:9399/")
7:
 
8:
pattern = 'p34'
9:
 
10:
# === Generate Remar-Instance
11:
 
12:
res = srv.resource("/")
13:
status, response = res.get
14:
doc = XML::Smart::string(response.first.value.read)
15:
ins = doc.find("/instances/instance[text()='#{pattern}']")
16:
unless ins.empty?
17:
  ins.each do |e|
18:
    res = srv.resource("/#{e.attributes['id']}")
19:
    status, response = res.delete
20:
  end
21:
end
22:
 
23:
res = srv.resource("/")
24:
status, response = res.post [
25:
  Riddl::Parameter::Simple.new("name",pattern)
26:
]
27:
if status == 200
28:
  ins = response.first.value
29:
 
30:
  ['context','values','rules','calls','events'].each do |i|
31:
    p "/#{ins}/properties/values/#{i}"
32:
    res = srv.resource("/#{ins}/properties/values/#{i}")
33:
    XML::Smart.open(File.expand_path(File.dirname(__FILE__) + "/#{pattern}/#{i}.xml")) do |doc|
34:
      status, response = res.put [
35:
        Riddl::Parameter::Simple.new("content",doc.to_s)
36:
      ]
37:
    end
38:
  end
39:
 
40:
  res = srv.resource("/#{ins}/properties/values/state")
41:
  status, response = res.put [ Riddl::Parameter::Simple.new("value","running") ]
42:
end