Module: AgnosticBackend::Indexable::InstanceMethods
- Defined in:
- lib/agnostic_backend/indexable/indexable.rb
Instance Method Summary collapse
- #generate_document(for_index: nil, observer: nil) ⇒ Object
- #index_name(source = nil) ⇒ Object
- #index_object(index_name) ⇒ Object
- #put_to_index(index_name = nil) ⇒ Object
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 |