Sha256: 943bfb982f0781eadbc2c3eea0e6d9b871cd56f225ec1b1c7020cc446eb54b9f
Contents?: true
Size: 1.35 KB
Versions: 15
Compression:
Stored size: 1.35 KB
Contents
# encoding: utf-8 # module Picky module Indexed module Wrappers # This index combines an exact and partial index. # It serves to order the results such that exact hits are found first. # class ExactFirst < Indexed::Bundle delegate :similar, :identifier, :name, :to => :@exact delegate :index, :category, :weight, :generate_partial_from, :generate_caches_from_memory, :generate_derived, :dump, :load, :to => :@partial def initialize category @exact = category.indexed_exact @partial = category.indexed_partial end def self.wrap index_or_category if index_or_category.respond_to? :categories wrap_each_of index_or_category.categories index_or_category else new index_or_category end end def self.wrap_each_of categories categories.categories.collect! { |category| new(category) } end def ids text @exact.ids(text) + @partial.ids(text) end def weight text [@exact.weight(text) || 0, @partial.weight(text) || 0].max end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems