# File lib/rhc/rest.rb, line 96
    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