# File lib/openscap/xccdf/tailoring.rb, line 20 def initialize(source, benchmark) case source when OpenSCAP::Source @raw = OpenSCAP.xccdf_tailoring_import_source source.raw, benchmark else raise OpenSCAP::OpenSCAPError, "Cannot initialize #{self.class.name} with '#{source}'" end OpenSCAP.raise! if @raw.null? end
# File lib/openscap/xccdf/tailoring.rb, line 34 def destroy OpenSCAP.xccdf_tailoring_free @raw @raw = nil end
# File lib/openscap/xccdf/tailoring.rb, line 30 def profiles @profiles ||= profiles_init end
# File lib/openscap/xccdf/tailoring.rb, line 41 def profiles_init profiles = {} profit = OpenSCAP.xccdf_tailoring_get_profiles raw while OpenSCAP.xccdf_profile_iterator_has_more profit profile_p = OpenSCAP.xccdf_profile_iterator_next profit profile = OpenSCAP::Xccdf::Profile.new profile_p profiles[profile.id] = profile end OpenSCAP.xccdf_profile_iterator_free profit profiles end