Skip to content

Commit ad3ba92

Browse files
Merge pull request #14 from Sage/fix_settings_method
Fixes a bug with the settings method when passed multiple times
2 parents d19329f + c2527ed commit ad3ba92

File tree

5 files changed

+17
-7
lines changed

5 files changed

+17
-7
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## v2.0.1
2+
The settings method when passed multiple times it was replacing the key value instead of building a hash of data within the name / type keys.
3+
14
## v2.0.0
25
### Breaking change
36

lib/elastic_search_framework/index.rb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,9 @@ def delete
102102

103103
def settings(name:, type: nil, value:)
104104
self.index_settings = {} if index_settings.nil?
105-
index_settings[name] = if type
106-
{ type => value }
107-
else
108-
value
109-
end
105+
index_settings[name] = {} if index_settings[name].nil?
106+
return index_settings[name][type] = value if type
107+
index_settings[name] = value
110108
end
111109

112110
def create_payload
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module ElasticSearchFramework
2-
VERSION = '2.0.0'
2+
VERSION = '2.0.1'
33
end

spec/elastic_search_framework/index_spec.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,14 @@
8282
'filter' => ['lowercase'],
8383
'type' => 'custom'
8484
}
85-
}
85+
},
86+
'analyzer'=>{
87+
'custom_analyzer'=>{
88+
'filter'=>['lowercase'],
89+
'type'=>'custom',
90+
'tokenizer'=>'standard'
91+
}
92+
}
8693
}
8794
end
8895

spec/example_index.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@ class ExampleIndexWithSettings
2222
index name: 'example_index'
2323

2424
normalizer_value = { custom_normalizer: { type: 'custom', char_filter: [], filter: ['lowercase'] } }
25+
analyzer_value = { custom_analyzer: { type: 'custom', tokenizer: 'standard', filter: %w(lowercase) } }
2526

2627
settings name: :number_of_shards, value: 1
2728
settings name: :analysis, type: :normalizer, value: normalizer_value
29+
settings name: :analysis, type: :analyzer, value: analyzer_value
2830
mapping name: 'default', field: :name, type: :keyword, index: true
2931
end
3032

0 commit comments

Comments
 (0)