class ThinkingSphinx::RealTime::TranscribeInstance

Attributes

index[R]
instance[R]
properties[R]

Public Class Methods

call(instance, index, properties) click to toggle source
# File lib/thinking_sphinx/real_time/transcribe_instance.rb, line 4
def self.call(instance, index, properties)
  new(instance, index, properties).call
end
new(instance, index, properties) click to toggle source
# File lib/thinking_sphinx/real_time/transcribe_instance.rb, line 8
def initialize(instance, index, properties)
  @instance, @index, @properties = instance, index, properties
end

Public Instance Methods

call() click to toggle source
# File lib/thinking_sphinx/real_time/transcribe_instance.rb, line 12
def call
  properties.each_with_object([document_id]) do |property, instance_values|
    begin
      instance_values << property.translate(instance)
    rescue StandardError => error
      raise_wrapper error, property
    end
  end
end

Private Instance Methods

document_id() click to toggle source
# File lib/thinking_sphinx/real_time/transcribe_instance.rb, line 26
def document_id
  index.document_id_for_key instance.public_send(index.primary_key)
end
raise_wrapper(error, property) click to toggle source
# File lib/thinking_sphinx/real_time/transcribe_instance.rb, line 30
def raise_wrapper(error, property)
  wrapper = ThinkingSphinx::TranscriptionError.new
  wrapper.inner_exception = error
  wrapper.instance        = instance
  wrapper.property        = property

  raise wrapper
end