class ThinkingSphinx::ActiveRecord::Callbacks::DeltaCallbacks

Public Instance Methods

after_commit() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 6
def after_commit
  return unless !suspended? && delta_indices? && toggled?

  delta_indices.each do |index|
    index.delta_processor.index index
  end

  core_indices.each do |index|
    index.delta_processor.delete index, instance
  end
end
before_save() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 18
def before_save
  return unless !ThinkingSphinx::Callbacks.suspended? && delta_indices? &&
    new_or_changed?

  processors.each { |processor| processor.toggle instance }
end

Private Instance Methods

config() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 27
def config
  ThinkingSphinx::Configuration.instance
end
core_indices() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 31
def core_indices
  @core_indices ||= indices.select(&:delta_processor).reject(&:delta?)
end
delta_indices() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 35
def delta_indices
  @delta_indices ||= indices.select &:delta?
end
delta_indices?() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 39
def delta_indices?
  delta_indices.any?
end
indices() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 43
def indices
  @indices ||= config.index_set_class.new :classes => [instance.class]
end
new_or_changed?() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 47
def new_or_changed?
  instance.new_record? || instance.changed?
end
processors() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 51
def processors
  delta_indices.collect &:delta_processor
end
suspended?() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 55
def suspended?
  ThinkingSphinx::Callbacks.suspended? || ThinkingSphinx::Deltas.suspended?
end
toggled?() click to toggle source
# File lib/thinking_sphinx/active_record/callbacks/delta_callbacks.rb, line 59
def toggled?
  processors.any? { |processor| processor.toggled?(instance) }
end