Sha256: 201892a8a7739abb0b05a6e769a58bdbcaaa011c8386190175daaa72a19cd26c

Contents?: true

Size: 660 Bytes

Versions: 6

Compression:

Stored size: 660 Bytes

Contents

# frozen_string_literal: true

class ThinkingSphinx::ActiveRecord::Callbacks::DeleteCallbacks <
  ThinkingSphinx::Callbacks

  callbacks :after_destroy, :after_rollback

  def after_destroy
    delete_from_sphinx
  end

  def after_rollback
    delete_from_sphinx
  end

  private

  def delete_from_sphinx
    return if ThinkingSphinx::Callbacks.suspended? || instance.new_record?

    indices.each { |index|
      ThinkingSphinx::Deletion.perform(
        index, instance.public_send(index.primary_key)
      )
    }
  end

  def indices
    ThinkingSphinx::Configuration.instance.index_set_class.new(
      :classes => [instance.class]
    ).to_a
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
thinking-sphinx-4.4.1 lib/thinking_sphinx/active_record/callbacks/delete_callbacks.rb
thinking-sphinx-4.4.0 lib/thinking_sphinx/active_record/callbacks/delete_callbacks.rb
thinking-sphinx-4.3.2 lib/thinking_sphinx/active_record/callbacks/delete_callbacks.rb
thinking-sphinx-4.3.1 lib/thinking_sphinx/active_record/callbacks/delete_callbacks.rb
thinking-sphinx-4.3.0 lib/thinking_sphinx/active_record/callbacks/delete_callbacks.rb
thinking-sphinx-4.2.0 lib/thinking_sphinx/active_record/callbacks/delete_callbacks.rb