Class: AbideDevUtils::XCCDF::Parser::Objects::Profile

Inherits:
ElementWithId show all
Defined in:
lib/abide_dev_utils/xccdf/parser/objects.rb

Overview

Class for XCCDF profile

Instance Attribute Summary

Attributes inherited from ElementWithId

#id

Attributes inherited from ElementBase

#child_labels, #children, #link_labels

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ElementWithId

#to_s

Methods inherited from ElementBase

#add_link, #add_links, #all_values, #find_child_by_attribute, #find_child_by_attribute_value, #find_child_by_class, #find_child_by_xpath, #find_children_by_attribute, #find_children_by_attribute_value, #find_children_by_class, #find_children_by_xpath, #find_children_that_respond_to, #label, #method_missing, #recursive_find_child, #recursive_select_children, #respond_to_missing?, #xccdf_type

Methods included from DigestObject

#digest, #digest_equal?, #digest_similarity, #digestable_instance_variables, #exclude_from_digest, #labeled_self_digest, #non_compatible?, #normalize_exclusion, #sorted_digest_parts, #split_labeled_digest

Constructor Details

#initialize(element) ⇒ Profile

Returns a new instance of Profile.



365
366
367
368
369
370
# File 'lib/abide_dev_utils/xccdf/parser/objects.rb', line 365

def initialize(element)
  super
  add_child(Title, element)
  add_child(Description, element)
  add_children(XccdfSelect, element)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class AbideDevUtils::XCCDF::Parser::Objects::ElementBase

Class Method Details

.xpathObject



380
381
382
# File 'lib/abide_dev_utils/xccdf/parser/objects.rb', line 380

def self.xpath
  'xccdf:Profile'
end

Instance Method Details

#levelObject



372
373
374
375
376
377
378
# File 'lib/abide_dev_utils/xccdf/parser/objects.rb', line 372

def level
  return @level if defined?(@level)

  level_match = title.to_s.match(/([Ll]evel [0-9]+)/)
  @level = level_match.nil? ? level_match : level_match[1]
  @level
end