class OpenSCAP::Xccdf::Session
Public Class Methods
new(input_filename)
click to toggle source
# File lib/openscap/xccdf/session.rb, line 6 def initialize(input_filename) raise OpenSCAPError, 'No filename specified!' unless input_filename @input_filename = input_filename @s = OpenSCAP.xccdf_session_new(input_filename) OpenSCAP.raise! if @s.null? end
Public Instance Methods
destroy()
click to toggle source
# File lib/openscap/xccdf/session.rb, line 59 def destroy OpenSCAP.xccdf_session_free(@s) @s = nil end
evaluate()
click to toggle source
# File lib/openscap/xccdf/session.rb, line 38 def evaluate OpenSCAP.raise! unless OpenSCAP.xccdf_session_evaluate(@s).zero? end
export_results(opts = {})
click to toggle source
# File lib/openscap/xccdf/session.rb, line 46 def export_results(opts = {}) o = { :rds_file => nil, :xccdf_file => nil, :report_file => nil, :oval_results => false, :oval_variables => false, :engines_results => false }.merge!(opts) export_targets o export end
load(opts = {})
click to toggle source
# File lib/openscap/xccdf/session.rb, line 18 def load(opts = {}) o = { :datastream_id => nil, :component_id => nil }.merge(opts) if sds? OpenSCAP.xccdf_session_set_datastream_id(@s, o[:datastream_id]) OpenSCAP.xccdf_session_set_component_id(@s, o[:component_id]) end OpenSCAP.raise! unless OpenSCAP.xccdf_session_load(@s).zero? OpenSCAP.raise! unless OpenSCAP.xccdf_session_load_check_engine_plugins(@s).zero? end
profile=(p)
click to toggle source
# File lib/openscap/xccdf/session.rb, line 31 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 42 def remediate OpenSCAP.raise! unless OpenSCAP.xccdf_session_remediate(@s).zero? end
sds?()
click to toggle source
# File lib/openscap/xccdf/session.rb, line 14 def sds? OpenSCAP.xccdf_session_is_sds(@s) end
Private Instance Methods
export()
click to toggle source
# File lib/openscap/xccdf/session.rb, line 66 def export OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_oval(@s).zero? OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_check_engine_plugins(@s).zero? OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_xccdf(@s).zero? OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_arf(@s).zero? end
export_targets(opts = {})
click to toggle source
# File lib/openscap/xccdf/session.rb, line 73 def export_targets(opts = {}) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_arf_export(@s, opts[:rds_file]) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_xccdf_export(@s, opts[:xccdf_file]) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_report_export(@s, opts[:report_file]) OpenSCAP.xccdf_session_set_oval_results_export(@s, opts[:oval_results]) OpenSCAP.xccdf_session_set_oval_variables_export(@s, opts[:oval_variables]) OpenSCAP.xccdf_session_set_check_engine_plugins_results_export(@s, opts[:engines_results]) end