Module: IndexTanked

Defined in:
lib/index-tanked.rb,
lib/index-tanked/version.rb,
lib/index-tanked/index_tanked.rb,
lib/index-tanked/class_methods.rb,
lib/index-tanked/configuration.rb,
lib/index-tanked/search_result.rb,
lib/index-tanked/class_companion.rb,
lib/index-tanked/indextank/index.rb,
lib/index-tanked/indextank/client.rb,
lib/index-tanked/instance_methods.rb,
lib/index-tanked/indextank/document.rb,
lib/index-tanked/indextank/function.rb,
lib/index-tanked/instance_companion.rb,
lib/index-tanked/indextank/indextank.rb,
lib/index-tanked/indextank/exceptions.rb,
lib/index-tanked/active_record_defaults/queue/worker.rb,
lib/index-tanked/active_record_defaults/class_methods.rb,
lib/index-tanked/active_record_defaults/search_result.rb,
lib/index-tanked/active_record_defaults/queue/document.rb,
lib/index-tanked/active_record_defaults/class_companion.rb,
lib/index-tanked/active_record_defaults/instance_methods.rb,
lib/index-tanked/active_record_defaults/instance_companion.rb

Defined Under Namespace

Modules: ActiveRecordDefaults, ClassMethods, IndexTank, InstanceMethods Classes: ClassCompanion, Configuration, CustomDocIdNotSupportedError, IndexNameNotProvidedError, IndexTankedError, IndexingDisabledError, InstanceCompanion, InvalidFieldDependencyError, MissingFieldDependencyError, SearchError, SearchResult, SearchingDisabledError, TimeoutExceededError, URLNotProvidedError

Constant Summary collapse

GEM_VERSION =
'0.8.0'
Document =
IndexTanked::ActiveRecordDefaults::Queue::Document

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/index-tanked/index_tanked.rb', line 13

def self.included(base)
  base.class_eval do
    include IndexTanked::InstanceMethods
    extend IndexTanked::ClassMethods

    if defined?(ActiveRecord::Base) && ancestors.include?(ActiveRecord::Base)
      include ActiveRecordDefaults::InstanceMethods
      extend ActiveRecordDefaults::ClassMethods

      class << self
        attr_accessor :_ancestors_to_index
      end

      self._ancestors_to_index = ancestors.select{|a|
        a != self && a != ActiveRecord::Base && a.ancestors.include?(ActiveRecord::Base) && !a.abstract_class?
      }

      after_save :add_to_index_tank_after_save

      after_destroy :delete_from_index_tank_after_destroy
    end
  end
end