2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/elastic_ar_sync/elastic/services/document_indexer.rb', line 2
def index_document(klass, operation, record_id)
case operation.to_s
when /index/
record = Object.const_get(klass).find(record_id)
Elasticsearch::Model.client.index(
index: record.__elasticsearch__.index_name,
type: record.__elasticsearch__.document_type,
id: record.id,
body: record.__elasticsearch__.as_indexed_json)
when /delete/
Elasticsearch::Model.client.delete(index: Object.const_get(klass).__elasticsearch__.index_name,
type: Object.const_get(klass).__elasticsearch__.document_type,
id: record_id)
else
raise ArgumentError, "Unknown operation '#{operation.to_s}'"
end
end
|