class Searchkick::ReindexJob

Public Class Methods

new(klass, id) click to toggle source
# File lib/searchkick/reindex_job.rb, line 4
def initialize(klass, id)
  @klass = klass
  @id = id
end

Public Instance Methods

perform() click to toggle source
# File lib/searchkick/reindex_job.rb, line 9
def perform
  model = @klass.constantize
  record = model.find(@id) rescue nil # TODO fix lazy coding
  index = model.searchkick_index
  if !record || !record.should_index?
    # hacky
    record ||= model.new
    record.id = @id
    begin
      index.remove record
    rescue Elasticsearch::Transport::Transport::Errors::NotFound
      # do nothing
    end
  else
    index.store record
  end
end