Class: AbideDevUtils::XCCDF::Parser::Helpers::XPath::FindElement
- Inherits:
-
Object
- Object
- AbideDevUtils::XCCDF::Parser::Helpers::XPath::FindElement
- Defined in:
- lib/abide_dev_utils/xccdf/parser/helpers.rb
Overview
Implements class methods to help with finding elements via XPath
Class Method Summary collapse
- .at_xpath(element, path) ⇒ Object
- .named_at_xpath(element, path) ⇒ Object
- .named_xpath(element, path) ⇒ Object
- .namespace_safe_at_xpath(element, path) ⇒ Object
- .namespace_safe_xpath(element, path) ⇒ Object
- .xpath(element, path) ⇒ Object
Class Method Details
.at_xpath(element, path) ⇒ Object
115 116 117 118 119 120 |
# File 'lib/abide_dev_utils/xccdf/parser/helpers.rb', line 115 def self.at_xpath(element, path) elem = namespace_safe_at_xpath(element, path) return named_at_xpath(element, path) if elem.nil? elem end |
.named_at_xpath(element, path) ⇒ Object
138 139 140 |
# File 'lib/abide_dev_utils/xccdf/parser/helpers.rb', line 138 def self.named_at_xpath(element, path) element.at_xpath("*[name()='#{path}']") end |
.named_xpath(element, path) ⇒ Object
134 135 136 |
# File 'lib/abide_dev_utils/xccdf/parser/helpers.rb', line 134 def self.named_xpath(element, path) element.xpath("*[name()='#{path}']") end |
.namespace_safe_at_xpath(element, path) ⇒ Object
128 129 130 131 132 |
# File 'lib/abide_dev_utils/xccdf/parser/helpers.rb', line 128 def self.namespace_safe_at_xpath(element, path) element.at_xpath(path) rescue Nokogiri::XML::XPath::SyntaxError named_at_xpath(element, path) end |
.namespace_safe_xpath(element, path) ⇒ Object
122 123 124 125 126 |
# File 'lib/abide_dev_utils/xccdf/parser/helpers.rb', line 122 def self.namespace_safe_xpath(element, path) element.xpath(path) rescue Nokogiri::XML::XPath::SyntaxError named_xpath(element, path) end |
.xpath(element, path) ⇒ Object
108 109 110 111 112 113 |
# File 'lib/abide_dev_utils/xccdf/parser/helpers.rb', line 108 def self.xpath(element, path) elem = namespace_safe_xpath(element, path) return named_xpath(element, path) if elem.nil? elem end |