# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 15 def initialize(context) @context = context end
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 19 def call raise_exception if context[:results].any?(&:nil?) end
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 27 def actual_ids context[:results].compact.collect(&:id) end
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 31 def expected_ids context[:raw].collect { |row| row['sphinx_internal_id'].to_i } end
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 35 def raise_exception raise ThinkingSphinx::Search::StaleIdsException, stale_ids end
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 39 def stale_ids # Currently only works with single-model queries. Has at no point done # otherwise, but such an improvement would be nice. expected_ids - actual_ids end