Sha256: 69a298e5686da8efd3f5680aa2de6c7a53737031aed0f3dadfa7183d3f14c137

Contents?: true

Size: 1.3 KB

Versions: 4

Compression:

Stored size: 1.3 KB

Contents

include Rake::DSL if defined?(Rake::DSL)
require 'ruby-progressbar'

namespace :pose do

  desc "Cleans out unused data from the search index."
  task :vacuum => :environment do |t, args|
    puts "Cleaning Pose search index ...\n\n"
    progress_bar = ProgressBar.create title: '  assignments', total: Pose::Assignment.count
    Pose::Assignment.cleanup_orphaned_pose_assignments progress_bar
    progress_bar.finish

    progress_bar = ProgressBar.create title: '  words', total: Pose::Word.count
    Pose::Word.remove_unused_words progress_bar
    progress_bar.finish

    puts "\nPose search index cleanup complete.\n\n"
  end

  desc "Removes the search index for all instances of the given classes."
  task :remove, [:class_name] => :environment do |t, args|
    clazz = args.class_name.constantize
    Pose::Assignment.delete_class_index clazz
    puts "Search index for class #{clazz.name} deleted.\n\n"
  end

  desc "Deletes and recreates the search index for all instances of the given class."
  task :reindex_all, [:class_name] => [:environment] do |t, args|
    clazz = args.class_name.constantize
    progress_bar = ProgressBar.create title: "  reindexing", total: clazz.count
    clazz.find_each do |instance|
      instance.update_pose_words
      progress_bar.increment
    end
    progress_bar.finish
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pose-3.0.0 lib/tasks/pose_tasks.rake
pose-2.1.0 lib/tasks/pose_tasks.rake
pose-2.0.1 lib/tasks/pose_tasks.rake
pose-2.0.0 lib/tasks/pose_tasks.rake