Class: CPEE::NewXMLInstance

Inherits:
Riddl::Implementation
  • Object
show all
Defined in:
lib/cpee/implementation.rb

Overview

}}}

Instance Method Summary collapse

Instance Method Details

#responseObject

{{{



180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# File 'lib/cpee/implementation.rb', line 180

def response
  controller = @a[0]
  opts = @a[1]
  xml = @p[0].value.read
  id = controller.keys.sort.last.to_i


  while true
    id += 1
    unless Dir.exists? opts[:instances] + "/#{id}"
      Dir.mkdir(opts[:instances] + "/#{id}") rescue nil
      break
    end
  end
  File.write(File.join(opts[:instances].to_s,id.to_s,'properties.xml'),xml)

  controller[id] = Controller.new(id,opts)
  controller[id].state_change!

  @headers << Riddl::Header.new("CPEE-INSTANCE", controller[id].instance)
  @headers << Riddl::Header.new("CPEE-INSTANCE-URL", controller[id].instance_url)
  @headers << Riddl::Header.new("CPEE-INSTANCE-UUID", controller[id].uuid)

  Riddl::Parameter::Simple.new("id", id)
end