Class: Oval::Definition
Instance Attribute Summary
#namespaces
Instance Method Summary
collapse
#initialize, #parsed_xml, #text, #xpath_node, #xpath_nodes
Instance Method Details
#description ⇒ Object
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
|
#id ⇒ Object
6
7
8
|
# File 'lib/oval/definition.rb', line 6
def id
@id ||= @parsed_xml['id']
end
|
#klass ⇒ Object
14
15
16
|
# File 'lib/oval/definition.rb', line 14
def klass
@klass ||= @parsed_xml['class']
end
|
#reference_nodes ⇒ Object
28
29
30
|
# File 'lib/oval/definition.rb', line 28
def reference_nodes
@reference_nodes ||= @parsed_xml.xpath("./metadata/reference")
end
|
#references ⇒ Object
32
33
34
|
# File 'lib/oval/definition.rb', line 32
def references
@references ||= reference_nodes.map { |node| Reference.new parsed_xml: node }
end
|
#title ⇒ Object
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_h ⇒ Object
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
|
#version ⇒ Object
10
11
12
|
# File 'lib/oval/definition.rb', line 10
def version
@version ||= @parsed_xml['version']
end
|