Sha256: 6a263be00a88eaa5772ab2e87726202521c8b33afb9a130826abcb1163870017
Contents?: true
Size: 564 Bytes
Versions: 10
Compression:
Stored size: 564 Bytes
Contents
require 'nokogiri' class HtmlFragment attr_reader :document def initialize(html) @document = Nokogiri::HTML(html) end def has_tag?(selector) !!document.at_css(selector) end def has_tags_in_order?(*selectors) all_elements = document.css('*') elements = selectors.map do |selector| document.at_css(selector) || raise("Selector '#{selector}}' did not match any element.") end elements.each_cons(2).all? do |element1, element2| all_elements.index(element1) < all_elements.index(element2) end end end
Version data entries
10 entries across 10 versions & 1 rubygems