Skip to content

Commit ccbe912

Browse files
committed
Change client#indexes method to retrieve a list of Index instance
* Add raw_indexes to return the raw response from meilisearch server
1 parent c2515c7 commit ccbe912

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

lib/meilisearch/client.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,17 @@
44

55
module MeiliSearch
66
class Client < HTTPRequest
7+
8+
def raw_indexes
9+
http_get('/indexes')
10+
end
11+
712
### INDEXES
813

914
def indexes
10-
http_get '/indexes'
15+
raw_indexes.map do |info|
16+
index_object(info['uid'], info['primaryKey'])
17+
end
1118
end
1219

1320
# Usage:

spec/meilisearch/client/indexes_spec.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,14 @@
7878
end.to raise_meilisearch_api_error_with(400, 'invalid_index_uid', 'invalid_request_error')
7979
end
8080

81-
it 'gets list of indexes' do
81+
it 'gets list of indexes as MeiliSearch::Index' do
8282
response = @client.indexes
83-
expect(response).to be_a(Array)
83+
expect(response.count).to eq(5)
84+
expect(response).to all(be_a(MeiliSearch::Index))
85+
end
86+
87+
it 'gets list of raw indexes' do
88+
response = @client.raw_indexes
8489
expect(response.count).to eq(5)
8590
uids = response.map { |elem| elem['uid'] }
8691
expect(uids).to contain_exactly(@uid1, @uid2, @uid3, @uid4, @uid5)

spec/support/indexes_helpers.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
module IndexesHelpers
44
def clear_all_indexes(client)
55
indexes = client.indexes
6-
uids = indexes.map { |index| index['uid'] }
6+
uids = indexes.map { |index| index.uid }
77
uids.each do |uid|
88
client.delete_index(uid)
99
end

0 commit comments

Comments
 (0)