class Searchkick::ReindexV2Job
Constants
- RECORD_NOT_FOUND_CLASSES
Public Instance Methods
perform(klass, id)
click to toggle source
# File lib/searchkick/reindex_v2_job.rb, line 12 def perform(klass, id) model = klass.constantize record = begin model.find(id) rescue => e # check by name rather than rescue directly so we don't need # to determine which classes are defined raise e unless RECORD_NOT_FOUND_CLASSES.include?(e.class.name) nil end 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