Sha256: e8472300ff869e658e7823feaa33c7416be9c84ac6df00eebfcd31359d3a8566

Contents?: true

Size: 935 Bytes

Versions: 16

Compression:

Stored size: 935 Bytes

Contents

# frozen_string_literal: true

class ThinkingSphinx::RealTime::TranscribeInstance
  def self.call(instance, index, properties)
    new(instance, index, properties).call
  end

  def initialize(instance, index, properties)
    @instance, @index, @properties = instance, index, properties
  end

  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

  attr_reader :instance, :index, :properties

  def document_id
    index.document_id_for_key instance.public_send(index.primary_key)
  end

  def raise_wrapper(error, property)
    wrapper = ThinkingSphinx::TranscriptionError.new
    wrapper.inner_exception = error
    wrapper.instance        = instance
    wrapper.property        = property

    raise wrapper
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
thinking-sphinx-5.6.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-5.5.1 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-5.5.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-5.4.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-5.3.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-5.2.1 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-5.2.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-5.1.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-5.0.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-4.4.1 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-4.4.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-4.3.2 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-4.3.1 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-4.3.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-4.2.0 lib/thinking_sphinx/real_time/transcribe_instance.rb
thinking-sphinx-4.1.0 lib/thinking_sphinx/real_time/transcribe_instance.rb