class ThinkingSphinx::Middlewares::StaleIdChecker::Inner
Attributes
context[R]
Public Class Methods
new(context)
click to toggle source
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 15 def initialize(context) @context = context end
Public Instance Methods
call()
click to toggle source
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 19 def call raise_exception if context[:results].any?(&:nil?) end
Private Instance Methods
actual_ids()
click to toggle source
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 27 def actual_ids context[:results].compact.collect(&:id) end
expected_ids()
click to toggle source
# 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
raise_exception()
click to toggle source
# File lib/thinking_sphinx/middlewares/stale_id_checker.rb, line 35 def raise_exception raise ThinkingSphinx::Search::StaleIdsException, stale_ids end
stale_ids()
click to toggle source
# 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