Class: Nexpose::Section

Inherits:
Object
  • Object
show all
Includes:
Sanitize
Defined in:
lib/nexpose/report.rb

Overview

Section specific content to include in a report template.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Sanitize

#replace_entities

Constructor Details

#initialize(name) ⇒ Section

Returns a new instance of Section.



767
768
769
770
# File 'lib/nexpose/report.rb', line 767

def initialize(name)
  @name = name
  @properties = {}
end

Instance Attribute Details

#nameObject

Name of the report section.



763
764
765
# File 'lib/nexpose/report.rb', line 763

def name
  @name
end

#propertiesObject

Map of properties specific to the report section.



765
766
767
# File 'lib/nexpose/report.rb', line 765

def properties
  @properties
end

Class Method Details

.parse(xml) ⇒ Object



782
783
784
785
786
787
788
789
790
791
792
# File 'lib/nexpose/report.rb', line 782

def self.parse(xml)
  name = xml.attributes['name']
  xml.elements.each("//ReportSection[@name='#{name}']") do |elem|
    section = Section.new(name)
    elem.elements.each("//ReportSection[@name='#{name}']/property") do |property|
      section.properties[property.attributes['name']] = property.text
    end
    return section
  end
  nil
end

Instance Method Details

#to_xmlObject



774
775
776
777
778
779
780
# File 'lib/nexpose/report.rb', line 774

def to_xml
  xml = %Q{<ReportSection name='#{@name}'>}
  properties.each_pair do |name, value|
    xml << %Q{<property name='#{name}'>#{replace_entities(value)}</property>}
  end
  xml << '</ReportSection>'
end