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
- #client ⇒ Object
- #client_opts ⇒ Object
- #client_opts=(opts) ⇒ Object
- #configuration ⇒ Object
- #configuration=(configuration) ⇒ Object
- #default_configuration ⇒ Object
- #initialize ⇒ Object
- #setup_client ⇒ Object
Instance Method Details
#client ⇒ Object
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_opts ⇒ Object
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 |
#configuration ⇒ Object
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_configuration ⇒ Object
44 45 46 47 48 |
# File 'lib/algoliasearch/configuration.rb', line 44 def default_configuration { queue_name: 'algoliasearch' } end |
#initialize ⇒ Object
8 9 10 |
# File 'lib/algoliasearch/configuration.rb', line 8 def initialize @client = nil end |
#setup_client ⇒ Object
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 |