Class: Textus::Infra::Store::Index::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/infra/store/index/builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(db) ⇒ Builder

Returns a new instance of Builder.



6
7
8
# File 'lib/textus/infra/store/index/builder.rb', line 6

def initialize(db)
  @db = db
end

Instance Method Details

#rebuild!(resolver:) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/textus/infra/store/index/builder.rb', line 10

def rebuild!(resolver:)
  @db[:entries].each do |row|
    key = row[:key]
    mentry = resolver.resolve(key)
    next unless mentry

    entry = mentry.entry
    @db[:entries].insert_conflict(:replace).insert(
      key:, lane: entry.lane, format: entry.format,
      schema: entry.schema, content: row[:content],
      indexed_at: Time.now.utc
    )
  end
end