module Rooftop::AlgoliaSearch::PostIndexing::ClassMethods

Attributes

search_fields[R]
search_index_name[R]
search_index_settings[R]

Public Instance Methods

add_search_field(field, options = nil) click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 41
def add_search_field(field, options = nil)
  @search_fields ||= []

  @search_fields << [field, options].compact
end
add_search_fields(*fields) click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 36
def add_search_fields(*fields)
  @search_fields ||= []
  fields.each {|f| @search_fields << f}
end
clear_index!() click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 69
def clear_index!
  search_index.clear_index
end
deindex_entities(entities) click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 62
def deindex_entities(entities)
  entities = Array.wrap(entities)
  search_index.delete_objects(entities.collect(&:id))
end
Also aliased as: deindex_entity
deindex_entity(entities)
Alias for: deindex_entities
reindex_all() click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 51
def reindex_all
  reindex_entities(all.to_a)
end
reindex_entities(entities) click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 55
def reindex_entities(entities)
  entities = Array.wrap(entities)
  search_index.add_objects(entities.collect(&:to_search_index_parameters))
end
Also aliased as: reindex_entity
reindex_entity(entities)
Alias for: reindex_entities
search_index() click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 74
def search_index
  @search_index ||= Algolia::Index.new(@search_index_name)
end
search_index_name=(name) click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 18
def search_index_name=(name)
  @search_index_name = name
  setup_index_name!
end
search_index_settings=(settings) click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 23
def search_index_settings=(settings)
  @search_index_settings ||= settings
end
setup_index_name!() click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 31
def setup_index_name!
  @search_index_name ||= self.to_s.underscore
end
setup_index_settings!() click to toggle source
# File lib/rooftop/algolia_search/post_indexing.rb, line 27
def setup_index_settings!
  search_index.set_settings(@search_index_settings) unless @search_index_settings.nil?
end