module PgSearch::Multisearch

Public Class Methods

rebuild(model, deprecated_clean_up = nil, clean_up: true, transactional: true) click to toggle source
# File lib/pg_search/multisearch.rb, line 8
def rebuild(model, deprecated_clean_up = nil, clean_up: true, transactional: true)
  unless deprecated_clean_up.nil?
    warn(
      "pg_search 3.0 will no longer accept a boolean second argument to PgSearchMultisearch.rebuild, " \
      "use keyword argument `clean_up:` instead.",
      category: :deprecated,
      uplevel: 1
    )
    clean_up = deprecated_clean_up
  end

  if transactional
    model.transaction { execute(model, clean_up) }
  else
    execute(model, clean_up)
  end
end

Private Class Methods

execute(model, clean_up) click to toggle source
# File lib/pg_search/multisearch.rb, line 28
def execute(model, clean_up)
  PgSearch::Document.where(searchable_type: model.base_class.name).delete_all if clean_up
  Rebuilder.new(model).rebuild
end