Skip to content

Commit 8256f44

Browse files
Merge #232
232: Add delete_index_if_exists method r=curquiza a=toshitapandey ##### Purpose - Add `delete_index_if_exists` method to not raise error when `index` mentioned in argument doesn't exist - Test cases for same Closes #228 Co-authored-by: Toshita Pandey <[email protected]>
2 parents 7da8803 + 48de1c1 commit 8256f44

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

lib/meilisearch/client.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,17 @@ def delete_index(index_uid)
3434
index_object(index_uid).delete
3535
end
3636

37+
# Usage:
38+
# client.delete_index_if_exists('indexUID')
39+
def delete_index_if_exists(index_uid)
40+
index_object(index_uid).delete
41+
true
42+
rescue ApiError => e
43+
raise e if e.code != 'index_not_found'
44+
45+
false
46+
end
47+
3748
# Usage:
3849
# client.index('indexUID')
3950
def index(index_uid)

spec/meilisearch/client/indexes_spec.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
@uid3 = 'uid3'
1010
@uid4 = 'uid4'
1111
@uid5 = 'uid5'
12+
@uid6 = 'uid6'
13+
@uid7 = 'uid7'
1214
@primary_key = 'objectId'
1315
end
1416

@@ -116,4 +118,12 @@
116118
expect { @client.fetch_index(@uid5) }.to raise_index_not_found_meilisearch_api_error
117119
expect(@client.indexes.count).to eq(0)
118120
end
121+
122+
it 'deletes index if index exists' do
123+
@client.create_index(@uid6)
124+
expect(@client.delete_index_if_exists(@uid6)).to eq(true)
125+
expect { @client.fetch_index(@uid6) }.to raise_index_not_found_meilisearch_api_error
126+
expect(@client.delete_index_if_exists(@uid6)).to eq(false)
127+
expect(@client.indexes.count).to eq(0)
128+
end
119129
end

0 commit comments

Comments
 (0)