class Dropdown::Parsers::ExcerptExtractor
Public Instance Methods
extract()
click to toggle source
# File lib/dropdown/parsers/excerpt_extractor.rb, line 8 def extract @results = '' doc = Nokogiri::HTML.parse(@content) process_element doc @results.chomp end
Private Instance Methods
process_element(element)
click to toggle source
# File lib/dropdown/parsers/excerpt_extractor.rb, line 17 def process_element(element) if element.text? @results << element.text.gsub(/\n/, '') else unless element.description.nil? # save the seperator for later seperator = element.description.block? ? "\n" : "" end end element.children.map { |el| process_element(el) } # Display a seperator if we are done processing the children if !element.children.empty? && !seperator.nil? && !['html', 'body'].include?(element.name) @results << seperator unless seperator.nil? end end