class MemDB::Index::PrefixTree::Root

Constants

MAX_LENGTH_DEFAULT

Public Class Methods

new(bucket:) click to toggle source
# File lib/mem_db/index/prefix_tree.rb, line 29
def initialize(bucket:)
  @item = Item.new(bucket: bucket)
  @min_length = MAX_LENGTH_DEFAULT
end

Public Instance Methods

add(prefixes, obj, value) click to toggle source
# File lib/mem_db/index/prefix_tree.rb, line 44
def add(prefixes, obj, value)
  prefixes.each do |prefix|
    @min_length = prefix.length if @min_length > prefix.length
    @item.add(prefix, 0, obj, value)
  end
end
get(contents, query:, result:) click to toggle source
# File lib/mem_db/index/prefix_tree.rb, line 34
def get(contents, query:, result:)
  contents.each do |content|
    next if @min_length > content.length

    @item.select_values(content, 0, query: query, out: result)
  end

  result
end