class CloudConvert::Resources::Tasks
Public Instance Methods
all(params = {})
click to toggle source
@param params [Hash] @return [Collection<Task>]
# File lib/cloudconvert/resources/tasks.rb, line 6 def all(params = {}) Task.collection(client.get("/v2/tasks", params)) end
cancel(id)
click to toggle source
@param params [Hash] @return [Task]
# File lib/cloudconvert/resources/tasks.rb, line 35 def cancel(id) Task.result(client.post("/v2/tasks/#{id}/cancel")) end
create(params = {})
click to toggle source
@param operation [String] @param params [Hash] @return [Task]
# File lib/cloudconvert/resources/tasks.rb, line 20 def create(params = {}) schema = Schemacop::Schema.new do type :hash, allow_obsolete_keys: true do req :operation, :string req :input, :string unless params[:operation].nil? || params[:operation].start_with?("import") end end schema.validate! params Task.result(client.post("/v2/#{params[:operation]}", params)) end
delete(id)
click to toggle source
@param id [String] @return [void]
# File lib/cloudconvert/resources/tasks.rb, line 41 def delete(id) client.delete("/v2/tasks/#{id}") end
find(id, params = {})
click to toggle source
@param id [String] @param params [Hash] @return [Task]
# File lib/cloudconvert/resources/tasks.rb, line 13 def find(id, params = {}) Task.result(client.get("/v2/tasks/#{id}", params)) end
retry(id)
click to toggle source
@param params [Hash] @return [Task]
# File lib/cloudconvert/resources/tasks.rb, line 47 def retry(id) Task.result(client.post("/v2/tasks/#{id}/retry")) end
upload(file, task)
click to toggle source
@param file [File, String, IO] Either a String filename to a local file or an open IO object. @param task [Task] The “import/upload” Task
to upload the file to. @return [void]
# File lib/cloudconvert/resources/tasks.rb, line 60 def upload(file, task) unless task.operation == "import/upload" raise ArgumentError.new("The task operation is not import/upload") end unless task.result && task.result.form && task.waiting? raise ArgumentError.new("The task is not ready for uploading") end file = File.new(file) unless file.is_a? File client.post(task.result.form.url, task.result.form.parameters.to_h.merge(file: file)) do |request| request.headers.delete("Authorization") request.headers["Content-Type"] = "multipart/form-data" end nil end
wait(id)
click to toggle source
@param id [String] @return [Task]
# File lib/cloudconvert/resources/tasks.rb, line 53 def wait(id) Task.result(client.get(client.api_sync_host + "/v2/tasks/#{id}")) end