class ThinkingSphinx::RealTime::Transcriber
Attributes
index[R]
Public Class Methods
new(index)
click to toggle source
# File lib/thinking_sphinx/real_time/transcriber.rb, line 2 def initialize(index) @index = index end
Public Instance Methods
copy(instance)
click to toggle source
# File lib/thinking_sphinx/real_time/transcriber.rb, line 6 def copy(instance) return unless copy? instance columns, values = ['id'], [index.document_id_for_key(instance.id)] (index.fields + index.attributes).each do |property| columns << property.name values << property.translate(instance) end sphinxql = Riddle::Query::Insert.new index.name, columns, values ThinkingSphinx::Connection.take do |connection| connection.execute sphinxql.replace!.to_sql end end
Private Instance Methods
copy?(instance)
click to toggle source
# File lib/thinking_sphinx/real_time/transcriber.rb, line 25 def copy?(instance) index.conditions.empty? || index.conditions.all? { |condition| case condition when Symbol instance.send(condition) when Proc condition.call instance else "Unexpected condition: #{condition}. Expecting Symbol or Proc." end } end