class RediSearch::RecordIndexer
Attributes
index[R]
record[R]
Public Class Methods
new(record)
click to toggle source
# File lib/redisearch-rails/record_indexer.rb, line 6 def initialize(record) @record = record @index = record.class.redisearch_index end
Public Instance Methods
reindex(mode: nil, **options)
click to toggle source
# File lib/redisearch-rails/record_indexer.rb, line 11 def reindex(mode: nil, **options) unless [:inline, true, nil, :async].include?(mode) raise ArgumentError, "#{mode} its not a valid value for mode" end mode ||= RediSearch.callbacks_value || record.class.redisearch_index_options[:callbacks] || true case mode when :async RediSearch::ReindexRecordJob.perform_later(record.class.name, record.id.to_s) else reindex_record end end
Private Instance Methods
reindex_record()
click to toggle source
# File lib/redisearch-rails/record_indexer.rb, line 28 def reindex_record if record.destroyed? || !record.persisted? || !record.should_index? document = index.generate_document(record.redisearch_document_id, {}) document.del(dd: true) else record.redisearch_add end end