Class: Elasticity::IndexConfig
- Inherits:
-
Object
- Object
- Elasticity::IndexConfig
- Defined in:
- lib/elasticity/index_config.rb
Constant Summary collapse
- ATTRS =
[:index_base_name, :document_type, :mapping, :strategy].freeze
Instance Method Summary collapse
- #client ⇒ Object
- #definition ⇒ Object
- #fq_index_base_name ⇒ Object
-
#initialize(elasticity_config) {|_self| ... } ⇒ IndexConfig
constructor
A new instance of IndexConfig.
- #segment(name) ⇒ Object
- #strategy ⇒ Object
Constructor Details
#initialize(elasticity_config) {|_self| ... } ⇒ IndexConfig
Returns a new instance of IndexConfig.
6 7 8 9 10 |
# File 'lib/elasticity/index_config.rb', line 6 def initialize(elasticity_config) @elasticity_config = elasticity_config yield(self) validate! end |
Instance Method Details
#client ⇒ Object
18 19 20 |
# File 'lib/elasticity/index_config.rb', line 18 def client @elasticity_config.client end |
#definition ⇒ Object
22 23 24 |
# File 'lib/elasticity/index_config.rb', line 22 def definition { settings: @elasticity_config.settings, mappings: { @document_type => @mapping } } end |
#fq_index_base_name ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/elasticity/index_config.rb', line 26 def fq_index_base_name return @fq_index_base_name if defined?(@fq_index_base_name) if namespace = @elasticity_config.namespace @fq_index_base_name = "#{namespace}_#{@index_base_name}" else @fq_index_base_name = @index_base_name end @fq_index_base_name end |
#segment(name) ⇒ Object
12 13 14 15 16 |
# File 'lib/elasticity/index_config.rb', line 12 def segment(name) new_config = self.dup new_config.index_base_name = "#{index_base_name}_#{name.underscore}" new_config end |
#strategy ⇒ Object
38 39 40 |
# File 'lib/elasticity/index_config.rb', line 38 def strategy @strategy ||= Strategies::SingleIndex end |