8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/typesense_model/sync_job.rb', line 8
def perform(class_name, id, action)
klass = class_name.constantize
case action.to_s
when "remove"
proxy = ActiveRecordExtension::TypesenseProxy.for(klass)
proxy.delete(id)
else
record = klass.respond_to?(:find_by) ? klass.find_by(id: id) : nil
record&.sync_to_typesense_now
end
rescue Typesense::Error => e
TypesenseModel.logger.error("Async Typesense #{action} failed for #{class_name}##{id}: #{e.message}")
end
|