Module: AlgoliaSearch::Configuration

Included in:
AlgoliaSearch
Defined in:
lib/algoliasearch/configuration.rb

Instance Method Summary collapse

Instance Method Details

#clientObject



16
17
18
19
20
21
22
# File 'lib/algoliasearch/configuration.rb', line 16

def client
  if @client.nil?
    setup_client
  end

  @client
end

#configurationObject



7
8
9
# File 'lib/algoliasearch/configuration.rb', line 7

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

#configuration=(configuration) ⇒ Object



11
12
13
14
# File 'lib/algoliasearch/configuration.rb', line 11

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

#default_configurationObject



37
38
39
40
41
# File 'lib/algoliasearch/configuration.rb', line 37

def default_configuration
  {
    queue_name: 'algoliasearch'
  }
end

#initializeObject



3
4
5
# File 'lib/algoliasearch/configuration.rb', line 3

def initialize
  @client = nil
end

#setup_clientObject



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/algoliasearch/configuration.rb', line 24

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