class SearchIndex
Attributes
index[R]
Public Class Methods
new(all_items)
click to toggle source
# File lib/coursegen/course/lib/search_data_generator.rb, line 3 def initialize all_items all_citems = all_items.map { |itm| Toc.instance.n2c(itm) } @index = all_citems.select { |citem| include_in_index? (citem)}.map do |item| nok_parse = Nokogiri::HTML(all_items[item.identifier].compiled_content).at('body') nok_parse_inner_text = nok_parse.nil? ? "" : nok_parse.inner_text { title: clean_string(item.title), text: clean_string(nok_parse_inner_text), tags: "", loc: all_items[item.identifier].reps[:default].path } end end
Public Instance Methods
clean_string(str)
click to toggle source
# File lib/coursegen/course/lib/search_data_generator.rb, line 16 def clean_string str str.nil? ? "" : str.gsub(/(\s+|\"|\“|\”)/, " ") end
include_in_index?(citem)
click to toggle source
# File lib/coursegen/course/lib/search_data_generator.rb, line 20 def include_in_index?(citem) skiplist = Regexp.union([/\/tipuesearch\/.*/, /\/bootstrap\/.*/, /\/config\/.*/, /\/tipuesearch\/.*/]) citem.type == "page" && !citem.nitem.binary? && !citem.identifier.to_s.match(skiplist) end