Class: OpenSCAP::Xccdf::Rule

Inherits:
Item
  • Object
show all
Defined in:
lib/openscap/xccdf/rule.rb

Instance Method Summary collapse

Methods inherited from Item

build, #destroy, #initialize, #rationale, #sub_items, #warnings

Methods included from ItemCommon

#description, #id, #references, #title, #version

Constructor Details

This class inherits a constructor from OpenSCAP::Xccdf::Item

Instance Method Details

#each_fixObject



25
26
27
28
29
# File 'lib/openscap/xccdf/rule.rb', line 25

def each_fix(&)
  OpenSCAP._iterate over: OpenSCAP.xccdf_rule_get_fixes(@raw), as: 'xccdf_fix' do |pointer|
    yield OpenSCAP::Xccdf::Fix.new pointer
  end
end

#each_fixtextObject



31
32
33
34
35
# File 'lib/openscap/xccdf/rule.rb', line 31

def each_fixtext(&)
  OpenSCAP._iterate over: OpenSCAP.xccdf_rule_get_fixtexts(@raw), as: 'xccdf_fixtext' do |pointer|
    yield OpenSCAP::Xccdf::Fixtext.new pointer
  end
end

#fixesObject



43
44
45
46
47
48
49
# File 'lib/openscap/xccdf/rule.rb', line 43

def fixes
  @fixes ||= [].tap do |fixes|
    each_fix do |fix|
      fixes << fix
    end
  end
end

#fixtextsObject



37
38
39
40
41
# File 'lib/openscap/xccdf/rule.rb', line 37

def fixtexts
  @fixtexts ||= [].tap do |fixtexts|
    each_fixtext { |ft| fixtexts << ft }
  end
end

#identsObject



51
52
53
54
55
56
57
# File 'lib/openscap/xccdf/rule.rb', line 51

def idents
  idents = []
  OpenSCAP._iterate over: OpenSCAP.xccdf_rule_get_idents(@raw), as: 'xccdf_ident' do |pointer|
    idents << OpenSCAP::Xccdf::Ident.new(pointer)
  end
  idents
end

#severityObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/openscap/xccdf/rule.rb', line 12

def severity
  severity = OpenSCAP.xccdf_rule_get_severity @raw
  severity_mapping = {
    xccdf_level_not_defined: 'Not defined',
    xccdf_unknown: 'Unknown',
    xccdf_info: 'Info',
    xccdf_low: 'Low',
    xccdf_medium: 'Medium',
    xccdf_high: 'High'
  }
  severity_mapping[severity] || severity_mapping[:xccdf_unknown]
end