class MemDB::Index::Enum

Attributes

bucket[R]
idx[R]

Public Class Methods

new(idx:, bucket: MemDB::Bucket) click to toggle source
# File lib/mem_db/index/enum.rb, line 28
def initialize(idx:, bucket: MemDB::Bucket)
  @idx = idx
  @bucket = bucket
  @hash = {}
end

Public Instance Methods

add(obj, value) click to toggle source
# File lib/mem_db/index/enum.rb, line 34
def add(obj, value)
  enums = obj.idx_value(@idx)
  enums.each do |enum|
    b = @hash[enum] ||= @bucket.new
    b.add(obj, value)
  end
end
query(query, out: MemDB::Out.new) click to toggle source
# File lib/mem_db/index/enum.rb, line 42
def query(query, out: MemDB::Out.new)
  enums = query.idx_value(@idx)
  enums.each do |enum|
    if (b = @hash[enum])
      b.query(query, out: out)
    end
  end

  out
end