Class: CloudConvert::Resources::Jobs

Inherits:
CloudConvert::Resource show all
Defined in:
lib/cloudconvert/resources/jobs.rb

Instance Attribute Summary

Attributes inherited from CloudConvert::Resource

#client

Instance Method Summary collapse

Methods inherited from CloudConvert::Resource

#initialize

Constructor Details

This class inherits a constructor from CloudConvert::Resource

Instance Method Details

#all(params = {}) ⇒ Collection<Job>

Parameters:

  • params (Hash) (defaults to: {})

Returns:



6
7
8
# File 'lib/cloudconvert/resources/jobs.rb', line 6

def all(params = {})
  Job.collection(client.get("/v2/jobs", params))
end

#create(params) ⇒ Job

Parameters:

  • params (Hash)

Returns:



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/cloudconvert/resources/jobs.rb', line 19

def create(params)
  schema = Schemacop::Schema.new do
    type :hash, allow_obsolete_keys: true do
      req :tasks, :array, min: 1 do
        type :hash, allow_obsolete_keys: true do
          req :operation, :string
        end
      end
    end
  end

  schema.validate! params

  payload = params.dup

  payload[:tasks] = payload[:tasks].to_h do |task|
    [task[:name], task.reject { |k| k == :name }]
  end

  Job.result(client.post("/v2/jobs", payload))
end

#delete(id) ⇒ void

This method returns an undefined value.

Parameters:

  • id (String)


49
50
51
# File 'lib/cloudconvert/resources/jobs.rb', line 49

def delete(id)
  client.delete("/v2/jobs/#{id}")
end

#find(id, params = {}) ⇒ Job

Parameters:

  • id (String)
  • params (Hash) (defaults to: {})

Returns:



13
14
15
# File 'lib/cloudconvert/resources/jobs.rb', line 13

def find(id, params = {})
  Job.result(client.get("/v2/jobs/#{id}", params))
end

#wait(id) ⇒ Job

Parameters:

  • id (String)

Returns:



43
44
45
# File 'lib/cloudconvert/resources/jobs.rb', line 43

def wait(id)
  Job.result(client.get(client.api_sync_host + "/v2/jobs/#{id}", {}))
end