Class: MeiliSearch::Task

Inherits:
HTTPRequest show all
Defined in:
lib/meilisearch/task.rb

Constant Summary collapse

ALLOWED_PARAMS =
[:limit, :from, :index_uid, :type, :status].freeze

Constants inherited from HTTPRequest

HTTPRequest::DEFAULT_OPTIONS

Instance Attribute Summary

Attributes inherited from HTTPRequest

#headers, #options

Instance Method Summary collapse

Methods inherited from HTTPRequest

#http_delete, #http_get, #http_patch, #http_post, #http_put, #initialize

Constructor Details

This class inherits a constructor from MeiliSearch::HTTPRequest

Instance Method Details

#index_task(task_uid) ⇒ Object



25
26
27
# File 'lib/meilisearch/task.rb', line 25

def index_task(task_uid)
  http_get "/tasks/#{task_uid}"
end

#index_tasks(index_uid) ⇒ Object



21
22
23
# File 'lib/meilisearch/task.rb', line 21

def index_tasks(index_uid)
  http_get '/tasks', { indexUid: [index_uid].flatten.join(',') }
end

#task(task_uid) ⇒ Object



17
18
19
# File 'lib/meilisearch/task.rb', line 17

def task(task_uid)
  http_get "/tasks/#{task_uid}"
end

#task_list(options = {}) ⇒ Object



10
11
12
13
14
15
# File 'lib/meilisearch/task.rb', line 10

def task_list(options = {})
  body = Utils.transform_attributes(options.transform_keys(&:to_sym).slice(*ALLOWED_PARAMS))
  body = body.transform_values { |v| v.respond_to?(:join) ? v.join(',') : v }

  http_get '/tasks/', body
end

#wait_for_task(task_uid, timeout_in_ms = 5000, interval_in_ms = 50) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/meilisearch/task.rb', line 29

def wait_for_task(task_uid, timeout_in_ms = 5000, interval_in_ms = 50)
  Timeout.timeout(timeout_in_ms.to_f / 1000) do
    loop do
      task = task(task_uid)
      return task if achieved_task?(task)

      sleep interval_in_ms.to_f / 1000
    end
  end
rescue Timeout::Error
  raise MeiliSearch::TimeoutError
end