def list_vulns(full = false)
      xml = make_xml('VulnerabilityListingRequest')
      # TODO: Add a flag to do stream parsing of the XML to improve performance.
      response = execute(xml, '1.2')
      vulns = []
      if response.success
        response.res.elements.each('VulnerabilityListingResponse/VulnerabilitySummary') do |vuln|
          if full
            vulns << XML::VulnerabilitySummary.parse(vuln)
          else
            vulns << XML::Vulnerability.new(vuln.attributes['id'],
                                            vuln.attributes['title'],
                                            vuln.attributes['severity'].to_i)
          end
        end
      end
      vulns
    end
def list_vulns(full = false)
      xml = make_xml('VulnerabilityListingRequest')
      # TODO: Add a flag to do stream parsing of the XML to improve performance.
      response = execute(xml, '1.2')
      vulns = []
      if response.success
        response.res.elements.each('VulnerabilityListingResponse/VulnerabilitySummary') do |vuln|
          if full
            vulns << XML::VulnerabilitySummary.parse(vuln)
          else
            vulns << XML::Vulnerability.new(vuln.attributes['id'],
                                            vuln.attributes['title'],
                                            vuln.attributes['severity'].to_i)
          end
        end
      end
      vulns
    end
Retrieve summary details of all vulnerabilities.

 @param [Boolean] full Whether or not to gather the full summary.
   Without the flag, only id, title, and severity are returned.
   It can take twice a long to retrieve full summary information.
 @return [Array[Vulnerability|VulnerabilitySummary]] Collection of all known vulnerabilities.