Module: AlgoliaSearch::Configuration

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

Constant Summary collapse

REQUIRED_CONFIGURATION =
{
  user_agent: "Algolia for Rails (#{AlgoliaSearch::VERSION}); Rails (#{defined?(::Rails::VERSION::STRING) ? ::Rails::VERSION::STRING : 'unknown'})",
  symbolize_keys: false
}

Instance Method Summary collapse

Instance Method Details

#clientObject



32
33
34
35
36
37
38
# File 'lib/algoliasearch/configuration.rb', line 32

def client
  if @client.nil?
    setup_client
  end

  @client
end

#client_optsObject



24
25
26
# File 'lib/algoliasearch/configuration.rb', line 24

def client_opts
  @@opts ||= {}
end

#client_opts=(opts) ⇒ Object



28
29
30
# File 'lib/algoliasearch/configuration.rb', line 28

def client_opts=(opts)
  @@opts = opts
end

#configurationObject



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

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



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

def configuration=(configuration)
  user_agent = [REQUIRED_CONFIGURATION[:user_agent], configuration[:append_to_user_agent]].compact.join('; ')
  @@configuration = default_configuration
                    .merge(configuration)
                    .merge(REQUIRED_CONFIGURATION)
                    .merge({ user_agent: user_agent })
end

#default_configurationObject



44
45
46
47
48
# File 'lib/algoliasearch/configuration.rb', line 44

def default_configuration
  {
    queue_name: 'algoliasearch'
  }
end

#initializeObject



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

def initialize
  @client = nil
end

#setup_clientObject



40
41
42
# File 'lib/algoliasearch/configuration.rb', line 40

def setup_client
  @client = Algolia::Search::Client.new(Algolia::Search::Config.new(@@configuration), client_opts)
end