def parse_response(response)
result = RHC::Json.decode(response)
type = result['type']
data = result['data']
case type
when 'domains'
domains = Array.new
data.each do |domain_json|
domains.push(Domain.new(domain_json, debug?))
end
return domains
when 'domain'
return Domain.new(data, debug?)
when 'applications'
apps = Array.new
data.each do |app_json|
apps.push(Application.new(app_json, debug?))
end
return apps
when 'application'
app = Application.new(data, debug?)
result['messages'].each do |message|
app.add_message(message['text']) if message['field'].nil? or message['field'] == 'result'
end
return app
when 'cartridges'
carts = Array.new
data.each do |cart_json|
carts.push(Cartridge.new(cart_json, debug?))
end
return carts
when 'cartridge'
return Cartridge.new(data, debug?)
when 'user'
return User.new(data, debug?)
when 'keys'
keys = Array.new
data.each do |key_json|
keys.push(Key.new(key_json, debug?))
end
return keys
when 'key'
return Key.new(data, debug?)
when 'gear_groups'
gears = Array.new
data.each do |gear_json|
gears.push(GearGroup.new(gear_json, debug?))
end
return gears
else
data
end
end