Class: OpenSCAP::Xccdf::TestResult
- Inherits:
-
Object
- Object
- OpenSCAP::Xccdf::TestResult
- Defined in:
- lib/openscap/xccdf/testresult.rb
Instance Attribute Summary collapse
-
#raw ⇒ Object
readonly
Returns the value of attribute raw.
-
#rr ⇒ Object
readonly
Returns the value of attribute rr.
Instance Method Summary collapse
- #destroy ⇒ Object
- #id ⇒ Object
-
#initialize(t) ⇒ TestResult
constructor
A new instance of TestResult.
- #profile ⇒ Object
- #score ⇒ Object
- #score!(benchmark) ⇒ Object
- #source ⇒ Object
Constructor Details
#initialize(t) ⇒ TestResult
Returns a new instance of TestResult.
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/openscap/xccdf/testresult.rb', line 13 def initialize t case t when OpenSCAP::Source @raw = OpenSCAP.xccdf_result_import_source(t.raw) OpenSCAP.raise! if @raw.null? when FFI::Pointer @raw = OpenSCAP.xccdf_result_import_source(t) OpenSCAP.raise! if @raw.null? else raise OpenSCAP::OpenSCAPError, "Cannot initialize #{self.class.name} with #{t}" end init_ruleresults end |
Instance Attribute Details
#raw ⇒ Object (readonly)
Returns the value of attribute raw.
11 12 13 |
# File 'lib/openscap/xccdf/testresult.rb', line 11 def raw @raw end |
#rr ⇒ Object (readonly)
Returns the value of attribute rr.
11 12 13 |
# File 'lib/openscap/xccdf/testresult.rb', line 11 def rr @rr end |
Instance Method Details
#destroy ⇒ Object
59 60 61 62 |
# File 'lib/openscap/xccdf/testresult.rb', line 59 def destroy OpenSCAP.xccdf_result_free @raw @raw = nil end |
#id ⇒ Object
27 28 29 |
# File 'lib/openscap/xccdf/testresult.rb', line 27 def id OpenSCAP.xccdf_result_get_id @raw end |
#profile ⇒ Object
31 32 33 |
# File 'lib/openscap/xccdf/testresult.rb', line 31 def profile OpenSCAP.xccdf_result_get_profile @raw end |
#score ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/openscap/xccdf/testresult.rb', line 35 def score @score ||= {}.tap do |scores| OpenSCAP._iterate over: OpenSCAP.xccdf_result_get_scores(@raw), as: 'xccdf_score' do |s| scores[OpenSCAP.xccdf_score_get_system(s)] = { system: OpenSCAP.xccdf_score_get_system(s), value: OpenSCAP.xccdf_score_get_score(s), max: OpenSCAP.xccdf_score_get_maximum(s) } end end end |
#score!(benchmark) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/openscap/xccdf/testresult.rb', line 47 def score!(benchmark) # recalculate the scores in the scope of given benchmark @score = nil OpenSCAP.raise! unless OpenSCAP.xccdf_result_recalculate_scores(@raw, benchmark.raw).zero? score end |
#source ⇒ Object
54 55 56 57 |
# File 'lib/openscap/xccdf/testresult.rb', line 54 def source source_p = OpenSCAP.xccdf_result_export_source(raw, nil) OpenSCAP::Source.new source_p end |