Class: Noiseless::MappingDefinitionProcessor
- Inherits:
-
Object
- Object
- Noiseless::MappingDefinitionProcessor
show all
- Defined in:
- lib/noiseless/mapping_definition_processor.rb
Defined Under Namespace
Classes: AnalysisBuilder, AnalyzerBuilder, AnalyzerDefinitions, IndexSettingsBuilder, NormalizerBuilder, NormalizerDefinitions, PropertiesBuilder, SettingsBuilder
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of MappingDefinitionProcessor.
13
14
15
16
|
# File 'lib/noiseless/mapping_definition_processor.rb', line 13
def initialize
@settings = {}
@properties = {}
end
|
Class Method Details
.process(mapping_block) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/noiseless/mapping_definition_processor.rb', line 5
def self.process(mapping_block)
return {} unless mapping_block
processor = new
processor.instance_eval(&mapping_block)
processor.to_index_config
end
|
Instance Method Details
#analysis ⇒ Object
Delegate to settings builder for nested methods
31
32
33
|
# File 'lib/noiseless/mapping_definition_processor.rb', line 31
def analysis(&)
settings { analysis(&) }
end
|
#properties ⇒ Object
24
25
26
27
28
|
# File 'lib/noiseless/mapping_definition_processor.rb', line 24
def properties(&)
properties_builder = PropertiesBuilder.new
properties_builder.instance_eval(&)
@properties = properties_builder.to_hash
end
|
#settings ⇒ Object
18
19
20
21
22
|
# File 'lib/noiseless/mapping_definition_processor.rb', line 18
def settings(&)
settings_builder = SettingsBuilder.new
settings_builder.instance_eval(&)
@settings = settings_builder.to_hash
end
|
#to_index_config ⇒ Object
35
36
37
38
39
40
|
# File 'lib/noiseless/mapping_definition_processor.rb', line 35
def to_index_config
config = {}
config[:settings] = @settings unless @settings.empty?
config[:mappings] = { properties: @properties } unless @properties.empty?
config
end
|