Module: MeiliSearch::Rails::Configuration
- Included in:
- MeiliSearch::Rails
- Defined in:
- lib/meilisearch/rails/configuration.rb
Instance Method Summary collapse
- #activate! ⇒ Object
- #active? ⇒ Boolean
- #black_hole ⇒ Object
- #client ⇒ Object
- #configuration ⇒ Object
- #configuration=(configuration) ⇒ Object
- #deactivate! ⇒ Object
- #semaphore ⇒ Object
Instance Method Details
#activate! ⇒ Object
26 27 28 29 30 |
# File 'lib/meilisearch/rails/configuration.rb', line 26 def activate! semaphore.synchronize do @_config.merge!(active: true) end end |
#active? ⇒ Boolean
32 33 34 |
# File 'lib/meilisearch/rails/configuration.rb', line 32 def active? configuration.fetch(:active, true) end |
#black_hole ⇒ Object
36 37 38 |
# File 'lib/meilisearch/rails/configuration.rb', line 36 def black_hole @black_hole ||= NullObject.instance end |
#client ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/meilisearch/rails/configuration.rb', line 44 def client return black_hole unless active? ::MeiliSearch::Client.new( configuration[:meilisearch_url] || 'http://localhost:7700', configuration[:meilisearch_api_key], configuration.slice(:timeout, :max_retries) .merge(client_agents: MeiliSearch::Rails.qualified_version) ) end |
#configuration ⇒ Object
4 5 6 7 8 |
# File 'lib/meilisearch/rails/configuration.rb', line 4 def configuration raise NotConfigured if @_config.blank? @_config end |
#configuration=(configuration) ⇒ Object
10 11 12 |
# File 'lib/meilisearch/rails/configuration.rb', line 10 def configuration=(configuration) @_config = configuration end |
#deactivate! ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/meilisearch/rails/configuration.rb', line 14 def deactivate! semaphore.synchronize do @_config.merge!(active: false) return unless block_given? yield @_config.merge!(active: true) end end |
#semaphore ⇒ Object
40 41 42 |
# File 'lib/meilisearch/rails/configuration.rb', line 40 def semaphore @semaphore ||= Mutex.new end |