Module: IndexTanked::ActiveRecordDefaults::InstanceMethods

Defined in:
lib/index-tanked/active_record_defaults/instance_methods.rb

Instance Method Summary collapse

Instance Method Details

#add_to_index_tank(fallback = true) ⇒ Object



8
9
10
11
12
# File 'lib/index-tanked/active_record_defaults/instance_methods.rb', line 8

def add_to_index_tank(fallback=true)
  self.class.add_to_index_tank(index_tanked.doc_id, index_tanked.data, fallback)
  ancestor = self.class._ancestors_to_index.first
  self.becomes(ancestor).add_to_index_tank(fallback) if ancestor
end

#add_to_index_tank_after_save(fallback = true) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/index-tanked/active_record_defaults/instance_methods.rb', line 14

def add_to_index_tank_after_save(fallback=true)
  if index_tanked.dependencies_changed?
    if Configuration.activerecord_queue
      Document.create(:record_id => id, :model_name => self.class.name, :document => index_tanked.document_for_batch_addition)
    else
      add_to_index_tank(fallback)
    end
  end
end

#delete_from_index_tank_after_destroyObject



24
25
26
27
28
29
30
31
# File 'lib/index-tanked/active_record_defaults/instance_methods.rb', line 24

def delete_from_index_tank_after_destroy
  doc_ids = []
  doc_ids << index_tanked.doc_id
  self.class._ancestors_to_index.each do |ancestor|
    doc_ids << becomes(ancestor).index_tanked.doc_id
  end
  self.class.delete_doc_ids_from_index_tank(doc_ids.compact)
end

#index_tankedObject



4
5
6
# File 'lib/index-tanked/active_record_defaults/instance_methods.rb', line 4

def index_tanked
  @index_tanked ||= InstanceCompanion.new(self)
end