Class: Chewy::Config
Instance Attribute Summary collapse
-
#filter_mode ⇒ Object
Returns the value of attribute filter_mode.
-
#logger ⇒ Object
Returns the value of attribute logger.
-
#post_filter_mode ⇒ Object
Returns the value of attribute post_filter_mode.
-
#query_mode ⇒ Object
Returns the value of attribute query_mode.
-
#request_strategy ⇒ Object
Returns the value of attribute request_strategy.
-
#root_strategy ⇒ Object
Returns the value of attribute root_strategy.
-
#settings ⇒ Object
Returns the value of attribute settings.
-
#transport_logger ⇒ Object
Returns the value of attribute transport_logger.
-
#transport_tracer ⇒ Object
Returns the value of attribute transport_tracer.
-
#use_after_commit_callbacks ⇒ Object
Returns the value of attribute use_after_commit_callbacks.
Class Method Summary collapse
Instance Method Summary collapse
-
#configuration ⇒ Object
Chewy core configurations.
- #configuration=(options) ⇒ Object
-
#initialize ⇒ Config
constructor
A new instance of Config.
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
45 46 47 48 49 50 51 52 |
# File 'lib/chewy/config.rb', line 45 def initialize @settings = {} @query_mode = :must @filter_mode = :and @root_strategy = :base @request_strategy = :atomic @use_after_commit_callbacks = true end |
Instance Attribute Details
#filter_mode ⇒ Object
Returns the value of attribute filter_mode.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def filter_mode @filter_mode end |
#logger ⇒ Object
Returns the value of attribute logger.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def logger @logger end |
#post_filter_mode ⇒ Object
Returns the value of attribute post_filter_mode.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def post_filter_mode @post_filter_mode end |
#query_mode ⇒ Object
Returns the value of attribute query_mode.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def query_mode @query_mode end |
#request_strategy ⇒ Object
Returns the value of attribute request_strategy.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def request_strategy @request_strategy end |
#root_strategy ⇒ Object
Returns the value of attribute root_strategy.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def root_strategy @root_strategy end |
#settings ⇒ Object
Returns the value of attribute settings.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def settings @settings end |
#transport_logger ⇒ Object
Returns the value of attribute transport_logger.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def transport_logger @transport_logger end |
#transport_tracer ⇒ Object
Returns the value of attribute transport_tracer.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def transport_tracer @transport_tracer end |
#use_after_commit_callbacks ⇒ Object
Returns the value of attribute use_after_commit_callbacks.
5 6 7 |
# File 'lib/chewy/config.rb', line 5 def use_after_commit_callbacks @use_after_commit_callbacks end |
Class Method Details
.delegated ⇒ Object
41 42 43 |
# File 'lib/chewy/config.rb', line 41 def self.delegated public_instance_methods - self.superclass.public_instance_methods - Singleton.public_instance_methods end |
Instance Method Details
#configuration ⇒ Object
Chewy core configurations. There is two ways to set it up: use ‘Chewy.settings=` method or, for Rails application, create `config/chewy.yml` file. Btw, `config/chewy.yml` supports ERB the same way as ActiveRecord’s config.
Configuration options:
1. Chewy client options. All the options Elasticsearch::Client
supports.
test:
host: 'localhost:9250'
2. Chewy self-configuration:
:prefix - used as prefix for any index created.
test:
host: 'localhost:9250'
prefix: test<%= ENV['TEST_ENV_NUMBER'] %>
Then UsersIndex.index_name will be "test42_users"
in case TEST_ENV_NUMBER=42
:wait_for_status - if this option set - chewy actions such
as creating or deleting index, importing data will wait for
the status specified. Extremely useful for tests under havy
indexes manipulations.
test:
host: 'localhost:9250'
wait_for_status: green
3. Index settings. All the possible ElasticSearch index settings.
Will be merged as defaults with index settings on every index
creation.
test: &test
host: 'localhost:9250'
index:
number_of_shards: 1
number_of_replicas: 0
107 108 109 110 111 112 |
# File 'lib/chewy/config.rb', line 107 def configuration yaml_settings.merge(settings.deep_symbolize_keys).tap do |configuration| configuration.merge!(logger: transport_logger) if transport_logger configuration.merge!(tracer: transport_tracer) if transport_tracer end end |
#configuration=(options) ⇒ Object
114 115 116 117 |
# File 'lib/chewy/config.rb', line 114 def configuration= ActiveSupport::Deprecation.warn("`Chewy.configuration = {foo: 'bar'}` method is deprecated and will be removed soon, use `Chewy.settings = {foo: 'bar'}` method instead") self.settings = end |