Sha256: c3af3e760805a178c902077d572330f375e6937329d60d43f57596bcb7efd080
Contents?: true
Size: 1.93 KB
Versions: 10
Compression:
Stored size: 1.93 KB
Contents
module Picky class Category # Removes an indexed object with the # given id. # def remove id id = id.send key_format exact.remove id partial.remove id end # Adds and indexes this category of the # given object. # def add object, where = :unshift add_text object.id, object.send(from), where end # Removes the object's id, and then # adds it again. # def replace object, where = :unshift remove object.id add object, where end # Replaces just part of the indexed data. # # Note: Takes a hash as opposed to the add/replace method. # def replace_from hash # TODO Decide on a format. # return unless text = hash[from] || hash[from.to_s] id = hash[:id] || hash['id'] id = id.send key_format remove id add_text id, text end # Add at the end. # def << thing add thing, __method__ end # Add at the beginning. # def unshift thing add thing, __method__ end # For the given id, adds the list of # strings to the index for the given id. # def add_text id, text, where = :unshift # text = text.to_sym if @symbols # TODO Symbols. tokens, _ = tokenizer.tokenize text tokens.each { |text| add_tokenized_token id.send(key_format), text, where, false } end # # def add_tokenized_token id, text, where = :unshift, format = true return unless text id = id.send key_format if format # text = text.to_sym if @symbols # TODO Symbols. exact.add id, text, where partial.add_partialized id, text, where end # Clears the realtime mapping. # def clear_realtime exact.clear_realtime partial.clear_realtime end # Builds the realtime mapping. # def build_realtime_mapping exact.build_realtime partial.build_realtime end end end
Version data entries
10 entries across 10 versions & 1 rubygems