moduleBanzaimoduleQuerying# Searches a Nokogiri document using a CSS query, optionally optimizing it# whenever possible.## document - A document/element to search.# query - The CSS query to use.## Returns a Nokogiri::XML::NodeSet.defself.css(document,query)# When using "a.foo" Nokogiri compiles this to "//a[...]" but# "descendant::a[...]" is quite a bit faster and achieves the same result.xpath=Nokogiri::CSS.xpath_for(query)[0].gsub(%r{^//},'descendant::')document.xpath(xpath)endendend