Sha256: c99f5aabb67e6efc9a55a5cfbe956d35accbf9218e4e7661340b3efd6cadad9c

Contents?: true

Size: 633 Bytes

Versions: 3

Compression:

Stored size: 633 Bytes

Contents

# frozen_string_literal: true

class ThinkingSphinx::Configuration::DistributedIndices
  def initialize(indices)
    @indices = indices
  end

  def reconcile
    grouped_indices.each do |reference, indices|
      append distributed_index(reference, indices)
    end
  end

  private

  attr_reader :indices

  def append(index)
    ThinkingSphinx::Configuration.instance.indices << index
  end

  def distributed_index(reference, indices)
    index = ThinkingSphinx::Distributed::Index.new reference
    index.local_indices += indices.collect &:name
    index
  end

  def grouped_indices
    indices.group_by &:reference
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
thinking-sphinx-4.2.0 lib/thinking_sphinx/configuration/distributed_indices.rb
thinking-sphinx-4.1.0 lib/thinking_sphinx/configuration/distributed_indices.rb
thinking-sphinx-4.0.0 lib/thinking_sphinx/configuration/distributed_indices.rb