Sha256: 70a32bb65c2de85db80d47b30d7159883f164d81db343b4818672add285543e7

Contents?: true

Size: 1.07 KB

Versions: 13

Compression:

Stored size: 1.07 KB

Contents

# -*- coding: utf-8 -*-
# This writer uses resque to enqueue index jobs
# @author Michael Stämpfli

require 'resque'

module XapianDb
  module IndexWriters
    class ResqueWriter

      class << self

        # Update an object in the index
        # @param [Object] obj An instance of a class with a blueprint configuration
        def index(obj, commit=true, changed_attrs: [])
          Resque.enqueue worker_class, :index, :class => obj.class.name, :id => obj.id, changed_attrs: changed_attrs
        end

        # Remove an object from the index
        # @param [String] xapian_id The document id
        def delete_doc_with(xapian_id, commit=true)
          Resque.enqueue worker_class, :delete_doc, :xapian_id => xapian_id
        end

        # Reindex all objects of a given class
        # @param [Class] klass The class to reindex
        def reindex_class(klass, options = {})
          Resque.enqueue worker_class, :reindex_class, :class => klass.name
        end

        def worker_class
          ResqueWorker
        end
        private :worker_class
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
xapian_db-1.3.15 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.14 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.13 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.12 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.11 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.10 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.9 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.8 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.7.4 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.7.3 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.7.2 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.7.1 lib/xapian_db/index_writers/resque_writer.rb
xapian_db-1.3.7 lib/xapian_db/index_writers/resque_writer.rb