module Scrubyt
#=Lookup of simple examples
#There are two types of string examples in scRUBYt! right now:
#the simple example and the compound example.
#
#This class is responsible for finding elements matched by simple examples.
#In the futre probably more sophisticated matching algorithms will be added
#(e.g. match the n-th which matches the text, or element that matches the
#text but also contains a specific attribute etc.)
class SimpleExampleLookup
#From the example text defined by the user, find the lowest possible node which contains the text 'text'.
#The text can be also a mixed content text, e.g.
#
# Bon nuit, monsieur!
#
#In this case, 's text is considered to be "Bon nuit, monsieur"
def self.find_node_from_text(doc, text, next_link=false, index = 0)
text.gsub!('ยป', '»')
text = Regexp.escape(text) if text.is_a? String
SharedUtils.traverse_for_match(doc,/#{text}/)[index]
end
end #End of class SimpleExampleLookup
end #End of module Scrubyt