Module: AgnosticBackend::Indexable::InstanceMethods

Defined in:
lib/agnostic_backend/indexable/indexable.rb

Instance Method Summary collapse

Instance Method Details

#generate_document(for_index: nil, observer: nil) ⇒ Object



91
92
93
94
95
96
97
98
# File 'lib/agnostic_backend/indexable/indexable.rb', line 91

def generate_document(for_index: nil, observer: nil)
  index_name = for_index.nil? ? self.index_name : for_index.to_s
  return unless respond_to? :_index_content_managers
  manager = _index_content_managers[index_name.to_s]
  raise "Index #{index_name} does not exist" if manager.nil?
  observer ||= AgnosticBackend::Indexable::ObjectObserver.new
  manager.extract_contents_from self, index_name, observer: observer
end

#index_name(source = nil) ⇒ Object



87
88
89
# File 'lib/agnostic_backend/indexable/indexable.rb', line 87

def index_name(source=nil)
  self.class.index_name(source)
end

#index_object(index_name) ⇒ Object



110
111
112
# File 'lib/agnostic_backend/indexable/indexable.rb', line 110

def index_object(index_name)
  put_to_index(index_name)
end

#put_to_index(index_name = nil) ⇒ Object



100
101
102
103
104
105
106
107
108
# File 'lib/agnostic_backend/indexable/indexable.rb', line 100

def put_to_index(index_name=nil)
  indexable_class = index_name.nil? ?
                      self.class :
                      AgnosticBackend::Indexable.indexable_class(index_name)

  index = indexable_class.create_index
  indexer = index.indexer
  indexer.put(self)
end