class OpenSCAP::Xccdf::RuleResult

Public Class Methods

new(t) click to toggle source
# File lib/openscap/xccdf/ruleresult.rb, line 18
def initialize(t)
  case t
  when FFI::Pointer
    @rr = t
  else
    raise OpenSCAP::OpenSCAPError, "Cannot initialize #{self.class.name} with #{t}"
  end
end

Public Instance Methods

destroy() click to toggle source
# File lib/openscap/xccdf/ruleresult.rb, line 47
def destroy
  OpenSCAP.xccdf_rule_result_free @rr
end
id() click to toggle source
# File lib/openscap/xccdf/ruleresult.rb, line 27
def id
  OpenSCAP.xccdf_rule_result_get_idref @rr
end
override!(param) click to toggle source
# File lib/openscap/xccdf/ruleresult.rb, line 36
def override!(param)
  validate_xccdf_result! param[:new_result]
  t = OpenSCAP::Text.new
  t.text = param[:raw_text]
  unless OpenSCAP.xccdf_rule_result_override(@rr,
                                             OpenSCAP::XccdfResult[param[:new_result]],
                                             param[:time], param[:authority], t.raw)
    OpenSCAP.raise!
  end
end
result() click to toggle source
# File lib/openscap/xccdf/ruleresult.rb, line 31
def result
  OpenSCAP.xccdf_test_result_type_get_text            OpenSCAP.xccdf_rule_result_get_result(@rr)
end

Private Instance Methods

validate_xccdf_result!(result_label) click to toggle source
# File lib/openscap/xccdf/ruleresult.rb, line 53
def validate_xccdf_result!(result_label)
  if OpenSCAP::XccdfResult[result_label] > OpenSCAP::XccdfResult[:fixed]
    raise OpenSCAPError, "Could not recognize result type: '#{result_label}'"
  end
end