Sha256: 473c52662573b4af64b21284dc0f0bf10fe390eecffe5d4398a9aa7b872cd471

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

require 'delayed/job' unless defined?(Delayed::Job)

require 'thinking_sphinx/deltas/delayed_delta/delta_job'
require 'thinking_sphinx/deltas/delayed_delta/flag_as_deleted_job'
require 'thinking_sphinx/deltas/delayed_delta/job'

module ThinkingSphinx
  module Deltas
    class DelayedDelta < ThinkingSphinx::Deltas::DefaultDelta
      def index(model, instance = nil)
        return true unless ThinkingSphinx.updates_enabled? && ThinkingSphinx.deltas_enabled?
        return true if instance && !toggled(instance)
      
        ThinkingSphinx::Deltas::Job.enqueue(
          ThinkingSphinx::Deltas::DeltaJob.new(delta_index_name(model)),
          ThinkingSphinx::Configuration.instance.delayed_job_priority
        )
        
        Delayed::Job.enqueue(
          ThinkingSphinx::Deltas::FlagAsDeletedJob.new(
            core_index_name(model), instance.sphinx_document_id
          ),
          ThinkingSphinx::Configuration.instance.delayed_job_priority
        ) if instance
        
        true
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
factorylabs-thinking-sphinx-1.2.7 lib/thinking_sphinx/deltas/delayed_delta.rb