Sha256: 24f565ccb2a50f16f5fe92d85ded101d2490eb8d861ed4738b5370db30b364ce

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

module AlgoliaSearch
  module Configuration
    def initialize
      @client = nil
    end

    def configuration
      @@configuration || raise(NotConfigured, "Please configure AlgoliaSearch. Set AlgoliaSearch.configuration = {application_id: 'YOUR_APPLICATION_ID', api_key: 'YOUR_API_KEY'}")
    end

    def configuration=(configuration)
      @@configuration = default_configuration
                          .merge(configuration)
    end

    def client
      if @client.nil?
        setup_client
      end

      @client
    end

    def setup_client
      @client = Algolia::SearchClient.create(
        @@configuration[:application_id],
        @@configuration[:api_key],
        {
          user_agent_segments: [
            "Algolia for Rails (#{AlgoliaSearch::VERSION})",
            "Rails (#{defined?(::Rails::VERSION::STRING) ? ::Rails::VERSION::STRING : 'unknown'})",
            @@configuration[:append_to_user_agent]
          ].compact
        })
    end

    def default_configuration
      {
        queue_name: 'algoliasearch'
      }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
algoliasearch-rails-3.0.1 lib/algoliasearch/configuration.rb
algoliasearch-rails-3.0.0 lib/algoliasearch/configuration.rb