class OpenSCAP::Xccdf::Session

Public Class Methods

new(input_filename) click to toggle source
# File lib/openscap/xccdf/session.rb, line 16
def initialize(input_filename)
  @input_filename = input_filename
  @s = OpenSCAP.xccdf_session_new(input_filename)
  if @s.null?
    OpenSCAP.raise!
  end
end

Public Instance Methods

evaluate() click to toggle source
# File lib/openscap/xccdf/session.rb, line 46
def evaluate
  if OpenSCAP.xccdf_session_evaluate(@s) != 0
    OpenSCAP.raise!
  end
end
export_results(rds_file:nil, xccdf_file:nil, report_file:nil, oval_results:false, oval_variables:false, engines_results:false) click to toggle source
# File lib/openscap/xccdf/session.rb, line 56
def export_results(rds_file:nil, xccdf_file:nil, report_file:nil,
  oval_results:false, oval_variables:false, engines_results:false)
  OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_arf_export(@s, rds_file)
  OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_xccdf_export(@s, xccdf_file)
  OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_report_export(@s, report_file)
  OpenSCAP.xccdf_session_set_oval_results_export(@s, oval_results)
  OpenSCAP.xccdf_session_set_oval_variables_export(@s, oval_variables)
  OpenSCAP.xccdf_session_set_check_engine_plugins_results_export(@s, engines_results)

  OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_oval(@s) == 0
  OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_check_engine_plugins(@s) == 0
  OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_xccdf(@s) == 0
  OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_arf(@s) == 0
end
finalize(s) click to toggle source
# File lib/openscap/xccdf/session.rb, line 71
def finalize(s)
  OpenSCAP.xccdf_session_free(s.s)
end
load(datastream_id:nil, component_id:nil) click to toggle source
# File lib/openscap/xccdf/session.rb, line 28
def load(datastream_id:nil, component_id:nil)
  if sds?
    OpenSCAP.xccdf_session_set_datastream_id(@s, datastream_id)
    OpenSCAP.xccdf_session_set_component_id(@s, component_id)
  end
  if OpenSCAP.xccdf_session_load(@s) != 0
    OpenSCAP.raise!
  end
  OpenSCAP.raise! unless OpenSCAP.xccdf_session_load_check_engine_plugins(@s) == 0
end
profile=(p) click to toggle source
# File lib/openscap/xccdf/session.rb, line 39
def profile=(p)
  @profile = p
  if OpenSCAP.xccdf_session_set_profile_id(@s, p) == false
    raise OpenSCAPError, "No profile '" + p + "' found"
  end
end
remediate() click to toggle source
# File lib/openscap/xccdf/session.rb, line 52
def remediate
  OpenSCAP.raise! unless OpenSCAP.xccdf_session_remediate(@s) == 0
end
sds?() click to toggle source
# File lib/openscap/xccdf/session.rb, line 24
def sds?
  return OpenSCAP.xccdf_session_is_sds(@s)
end