lib/picky/internals/indexing/bundle/super_base.rb in picky-2.1.0 vs lib/picky/internals/indexing/bundle/super_base.rb in picky-2.1.1

- old
+ new

@@ -1,18 +1,18 @@ module Internals - # FIXME Merge into Base, extract common with Indexed::Base. + # TODO Merge into Base, extract common with Indexed::Base. # module Indexing # :nodoc:all # A Bundle is a number of indexes # per [index, category] combination. # # At most, there are three indexes: # * *core* index (always used) # * *weights* index (always used) # * *similarity* index (used with similarity) - # + # # In Picky, indexing is separated from the index # handling itself through a parallel structure. # # Both use methods provided by this base class, but # have very different goals: @@ -22,44 +22,44 @@ # # * *Index*::*Bundle* is concerned with loading these index files into # memory and looking up search data as fast as possible. # module Bundle - + class SuperBase - + attr_reader :identifier, :files attr_accessor :index, :weights, :similarity, :configuration, :similarity_strategy - + delegate :clear, :to => :index delegate :[], :[]=, :to => :configuration - + def initialize name, configuration, similarity_strategy @identifier = "#{configuration.identifier}:#{name}" @files = Internals::Index::Files.new name, configuration - + @index = {} @weights = {} @similarity = {} @configuration = {} # A hash with config options. - + @similarity_strategy = similarity_strategy end - + # Get a list of similar texts. # # Note: Does not return itself. # def similar text code = similarity_strategy.encoded text similar_codes = code && @similarity[code] similar_codes.delete text if similar_codes similar_codes || [] end - + end - + end - + end - + end \ No newline at end of file