Method: Nokogiri::XML::Searchable#at!

Defined in:
lib/ryoba/nokogiri/xml/searchable.rb

#at!(*queries) ⇒ Nokogiri::XML::Element

Like #at, but raises an exception if there are no results.

Examples:

xml = Nokogiri::XML("  <body>\n    <div id=\"a\" />\n    <div id=\"b\" />\n  </body>\n")

xml.at!("div")  # == Node div#a
xml.at!("img")  # raises exception

Parameters:

  • queries (Array<String>)

Returns:

  • (Nokogiri::XML::Element)

Raises:



45
46
47
48
49
50
51
# File 'lib/ryoba/nokogiri/xml/searchable.rb', line 45

def at!(*queries)
  result = self.at(*queries)
  if result.nil?
    raise Ryoba::Error.new("No elements matching #{queries.map(&:inspect).join(" OR ")}")
  end
  result
end