Sha256: a915726f3104ba8fbfb5eb8d424c03100814b516eabc71d9078a3b50113b6125

Contents?: true

Size: 1002 Bytes

Versions: 1

Compression:

Stored size: 1002 Bytes

Contents

require 'sunspot'
require 'sunspot-rails-failover/master_slave_with_failover_session_proxy'
require 'sunspot-rails-failover/exception_handler_adapter'

module Sunspot
  module Rails
    module Failover
      class << self
        attr_accessor :exception_handler
        
        def setup
          Sunspot.session = if Sunspot::Rails.configuration.has_master?
            Sunspot::SessionProxy::MasterSlaveWithFailoverSessionProxy.new(
              SessionProxy::ThreadLocalSessionProxy.new(master_config),
              SessionProxy::ThreadLocalSessionProxy.new(slave_config)
            )
          else
            Sunspot::SessionProxy::ThreadLocalSessionProxy.new(slave_config)
          end
        end
        
      private
      
        def slave_config
          Sunspot::Rails.send :slave_config, Sunspot::Rails.configuration
        end
        
        def master_config
          Sunspot::Rails.send :master_config, Sunspot::Rails.configuration
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sunspot-rails-failover-0.0.4 lib/sunspot-rails-failover.rb