Class: CPEE::Instantiation::ContinueTask
- Inherits:
-
Riddl::Implementation
- Object
- Riddl::Implementation
- CPEE::Instantiation::ContinueTask
- Defined in:
- lib/cpee/instantiation.rb
Overview
}}}
Instance Method Summary collapse
-
#response ⇒ Object
{{{.
Instance Method Details
#response ⇒ Object
{{{
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
# File 'lib/cpee/instantiation.rb', line 199 def response cpee = @a[0] cblist = @a[1] topic = @p[1].value event_name = @p[2].value notification = JSON.parse(@p[3].value) key = @r.last cb, condition, instance, instance_url = cblist.lrange(key,0,-1) if notification['state'] == condition cblist.del(key) srv = Riddl::Client.new(cpee, cpee + "?riddl-description") res = srv.resource("/#{instance}/properties/values/dataelements") status, response = res.get send = { 'CPEE-INSTANCE' => instance_url } if status >= 200 && status < 300 doc = XML::Smart.string(response[0].value.read) doc.register_namespace 'p', 'http://riddl.org/ns/common-patterns/properties/1.0' doc.find('/p:value/*').each do |e| send[e.qname.name] = e.text end end Riddl::Client.new(cb).put [ Riddl::Parameter::Complex.new('dataelements','application/json',JSON::generate(send)) ] end end |