machinio/solrb

View on GitHub
lib/solr/cloud/configuration.rb

Summary

Maintainability
A
0 mins
Test Coverage
require 'solr/cloud/zookeeper_connection'
require 'solr/cloud/collections_state_manager'

module Solr
  module Cloud
    class Configuration
      attr_accessor :zookeeper_url, :zookeeper_auth_user, :zookeeper_auth_password

      attr_reader :collections_state_manager

      def enable_solr_cloud!(collections)
        @collections_state_manager = Solr::Cloud::CollectionsStateManager.new(zookeeper: build_zookeeper_connection,
                                                                              collections: collections)
      end

      def cloud_enabled?
        !@collections_state_manager.nil?
      end

      def build_zookeeper_connection
        zookeeper_url = zookeeper_url.is_a?(Array) ? zookeeper_url.join(',') : zookeeper_url
        Solr::Cloud::ZookeeperConnection.new(zookeeper_url: zookeeper_url,
                                             zookeeper_auth_user: zookeeper_auth_user,
                                             zookeeper_auth_password: zookeeper_auth_password)
      end
    end
  end
end