Class: Oval::Definition

Inherits:
OpenscapParser::XmlNode show all
Defined in:
lib/oval/definition.rb

Instance Attribute Summary

Attributes inherited from OpenscapParser::XmlNode

#namespaces

Instance Method Summary collapse

Methods inherited from OpenscapParser::XmlNode

#initialize, #parsed_xml, #text, #xpath_node, #xpath_nodes

Constructor Details

This class inherits a constructor from OpenscapParser::XmlNode

Instance Method Details

#descriptionObject



23
24
25
26
# File 'lib/oval/definition.rb', line 23

def description
  xml = @parsed_xml.at_xpath("./metadata/description")
  @description ||= xml && xml.text
end

#idObject



6
7
8
# File 'lib/oval/definition.rb', line 6

def id
  @id ||= @parsed_xml['id']
end

#klassObject



14
15
16
# File 'lib/oval/definition.rb', line 14

def klass
  @klass ||= @parsed_xml['class']
end

#reference_nodesObject



28
29
30
# File 'lib/oval/definition.rb', line 28

def reference_nodes
  @reference_nodes ||= @parsed_xml.xpath("./metadata/reference")
end

#referencesObject



32
33
34
# File 'lib/oval/definition.rb', line 32

def references
  @references ||= reference_nodes.map { |node| Reference.new parsed_xml: node }
end

#titleObject



18
19
20
21
# File 'lib/oval/definition.rb', line 18

def title
  xml = @parsed_xml.at_xpath("./metadata/title")
  @title ||= xml && xml.text
end

#to_hObject



36
37
38
39
40
41
42
43
44
45
# File 'lib/oval/definition.rb', line 36

def to_h
  {
    :id => id,
    :version => version,
    :klass => klass,
    :title => title,
    :description => description,
    :references => references.map(&:to_h)
  }
end

#versionObject



10
11
12
# File 'lib/oval/definition.rb', line 10

def version
  @version ||= @parsed_xml['version']
end