class ThinkingSphinx::RealTime::Callbacks::RealTimeCallbacks
Attributes
block[R]
path[R]
reference[R]
Public Class Methods
new(reference, path = [], &block)
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 2 def initialize(reference, path = [], &block) @reference, @path, @block = reference, path, block end
Public Instance Methods
after_commit(instance)
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 6 def after_commit(instance) persist_changes instance end
after_save(instance)
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 10 def after_save(instance) persist_changes instance end
Private Instance Methods
callbacks_enabled?()
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 18 def callbacks_enabled? setting = configuration.settings['real_time_callbacks'] setting.nil? || setting end
configuration()
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 23 def configuration ThinkingSphinx::Configuration.instance end
indices()
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 27 def indices configuration.indices_for_references reference end
objects_for(instance)
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 31 def objects_for(instance) if block results = block.call instance else results = path.inject(instance) { |object, method| object.send method } end Array results end
persist_changes(instance)
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 41 def persist_changes(instance) return unless real_time_indices? && callbacks_enabled? real_time_indices.each do |index| objects_for(instance).each do |object| ThinkingSphinx::RealTime::Transcriber.new(index).copy object end end end
real_time_indices()
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 55 def real_time_indices indices.select { |index| index.is_a? ThinkingSphinx::RealTime::Index } end
real_time_indices?()
click to toggle source
# File lib/thinking_sphinx/real_time/callbacks/real_time_callbacks.rb, line 51 def real_time_indices? real_time_indices.any? end