class Roadie::Inliner
def elements_matching_selector(stylesheet, selector)
def elements_matching_selector(stylesheet, selector) dom.css(selector.to_s) # There's no way to get a list of supported pseudo selectors, so we're left # with having to rescue errors. # Pseudo selectors that are known to be bad are skipped automatically but # this will catch the rest. rescue Nokogiri::XML::XPath::SyntaxError, Nokogiri::CSS::SyntaxError Utils.warn( "Cannot inline #{selector.inspect} from \"#{stylesheet.name}\" " \ "stylesheet. If this is valid CSS, please report a bug." ) nil rescue => error Utils.warn( "Got error when looking for #{selector.inspect} " \ "(from \"#{stylesheet.name}\" stylesheet): #{error}" ) raise unless error.message.include?("XPath") nil end