Sha256: fe2513774f038124e0034c16945724732b15af6fb63d273140209476ad80f9f2

Contents?: true

Size: 821 Bytes

Versions: 4

Compression:

Stored size: 821 Bytes

Contents

require 'rake'
require 'pg_search'

namespace :pg_search do
  namespace :multisearch do
    desc "Rebuild PgSearch multisearch records for a given model"
    task :rebuild, [:model,:schema] => :environment do |_task, args|
      raise ArgumentError, <<-MESSAGE.strip_heredoc unless args.model
        You must pass a model as an argument.
        Example: rake pg_search:multisearch:rebuild[BlogPost]
      MESSAGE
      model_class = args.model.classify.constantize
      connection = PgSearch::Document.connection
      original_schema_search_path = connection.schema_search_path
      begin
        connection.schema_search_path = args.schema if args.schema
        PgSearch::Multisearch.rebuild(model_class)
      ensure
        connection.schema_search_path = original_schema_search_path
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pg_search-2.0.1 lib/pg_search/tasks.rb
pg_search-2.0.0 lib/pg_search/tasks.rb
pg_search-1.0.6 lib/pg_search/tasks.rb
pg_search-1.0.5 lib/pg_search/tasks.rb