Class: Engram::Persistence

Inherits:
Object
  • Object
show all
Defined in:
lib/engram/persistence.rb

Overview

Applies persistence hooks and policy consistently before writing records.

Instance Method Summary collapse

Constructor Details

#initialize(store:, embedder:, before_persist: Engram.config.before_persist, persistence_policy: Engram.config.persistence_policy) ⇒ Persistence

Returns a new instance of Persistence.



6
7
8
9
10
11
12
# File 'lib/engram/persistence.rb', line 6

def initialize(store:, embedder:, before_persist: Engram.config.before_persist,
  persistence_policy: Engram.config.persistence_policy)
  @store = store
  @embedder = embedder
  @before_persist = before_persist
  @persistence_policy = persistence_policy
end

Instance Method Details

#add(record) ⇒ Object



14
15
16
17
# File 'lib/engram/persistence.rb', line 14

def add(record)
  record = prepare(record)
  @store.add(record) if record
end

#update(id:, record:) ⇒ Object



19
20
21
22
# File 'lib/engram/persistence.rb', line 19

def update(id:, record:)
  record = prepare(record)
  @store.update(id: id, record: record) if record
end