Module: Knitsearch::MultisearchableSync

Extended by:
ActiveSupport::Concern
Defined in:
lib/knitsearch/multisearchable_sync.rb

Instance Method Summary collapse

Instance Method Details

#knitsearch_destroy_documentObject



31
32
33
34
35
36
# File 'lib/knitsearch/multisearchable_sync.rb', line 31

def knitsearch_destroy_document
  Knitsearch::Document.where(
    searchable_type: self.class.name,
    searchable_id:   id
  ).delete_all
end

#knitsearch_sync_documentObject



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/knitsearch/multisearchable_sync.rb', line 17

def knitsearch_sync_document
  content = self.class.atomic_multisearchable_columns
              .map { |col| send(col).to_s }
              .reject(&:empty?)
              .join(" ")

  doc = Knitsearch::Document.find_or_initialize_by(
    searchable_type: self.class.name,
    searchable_id:   id
  )
  doc.content = content
  doc.save!
end