Sha256: dbf79a72f1c5606bcb0b24fc86dde7bc735731987101c5134b1e4c0df31d616a

Contents?: true

Size: 976 Bytes

Versions: 1

Compression:

Stored size: 976 Bytes

Contents

require 'nessus/log'
require 'nessus/Version1/version1'
require 'nessus/Version2/version2'

require 'nokogiri'
require 'date'
require 'enumerator'
require 'time'

module Nessus

  class Parse

    def initialize(file = nil, options = {}, &block)
      doc = file ? File.read(file) : options[:xml]
      @xml = Nokogiri::XML.parse(doc)
      @version = options[:version]

      if @version
        case @version
          when 1
            block.call(Version1::XML.new(@xml)) if block
          when 2
            block.call(Version2::XML.new(@xml)) if block
          else
            raise "Error: Supported .Nessus Version are 1 and 2."
        end
      else
        if @xml.at('NessusClientData')
          block.call(Version1::XML.new(@xml)) if block
        elsif @xml.at('NessusClientData_v2')
          block.call(Version2::XML.new(@xml)) if block
        else
          raise "Error: Supported .Nessus Version are 1 and 2."
        end
      end

    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-nessus-1.2.0 lib/nessus/parse.rb