Class: PredicsisMlSdk::Job
- Inherits:
-
Object
- Object
- PredicsisMlSdk::Job
show all
- Includes:
- Observable, Util
- Defined in:
- lib/predicsis_ml_sdk/job.rb
Instance Attribute Summary collapse
Attributes included from Util
#token
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Util
#bearer_token, #define_attributes, included, #with_captured_console
Constructor Details
#initialize(id, token = bearer_token) ⇒ Job
Returns a new instance of Job.
23
24
25
26
|
# File 'lib/predicsis_ml_sdk/job.rb', line 23
def initialize(id, token = bearer_token)
@token = token
@id = id
end
|
Instance Attribute Details
#id ⇒ Object
Returns the value of attribute id.
8
9
10
|
# File 'lib/predicsis_ml_sdk/job.rb', line 8
def id
@id
end
|
Class Method Details
.all(token = bearer_token) ⇒ Object
14
15
16
17
18
19
20
21
|
# File 'lib/predicsis_ml_sdk/job.rb', line 14
def self.all(token = bearer_token)
data = Requests.get_jobs(token)
data.each_with_object([]) do |e, a|
a << new(e['id'], token).tap do |resource|
resource.send(:define_attributes, e)
end
end
end
|
.get(id, token = bearer_token) ⇒ Object
10
11
12
|
# File 'lib/predicsis_ml_sdk/job.rb', line 10
def self.get(id, token = bearer_token)
new(id, token).get
end
|
Instance Method Details
#delete ⇒ Object
34
35
36
37
|
# File 'lib/predicsis_ml_sdk/job.rb', line 34
def delete
Requests.delete_job(token, id)
self
end
|
#failed? ⇒ Boolean
48
49
50
|
# File 'lib/predicsis_ml_sdk/job.rb', line 48
def failed?
status.eql? 'failed'
end
|
#get ⇒ Object
28
29
30
31
32
|
# File 'lib/predicsis_ml_sdk/job.rb', line 28
def get
data = Requests.get_job(token, id)
define_attributes(data)
self
end
|
#next_job ⇒ Object
39
40
41
42
|
# File 'lib/predicsis_ml_sdk/job.rb', line 39
def next_job
return nil unless next_job_id
@next_job ||= Job.get(next_job_id, token)
end
|
#pending? ⇒ Boolean
52
53
54
|
# File 'lib/predicsis_ml_sdk/job.rb', line 52
def pending?
%w(pending processing).include? status
end
|
#succeeded? ⇒ Boolean
44
45
46
|
# File 'lib/predicsis_ml_sdk/job.rb', line 44
def succeeded?
status.eql? 'completed'
end
|
#terminated? ⇒ Boolean
56
57
58
59
60
61
62
63
64
|
# File 'lib/predicsis_ml_sdk/job.rb', line 56
def terminated?
if failed?
fail JobError.new(errors, id, action)
elsif succeeded?
next_job ? next_job.terminated? : true
else
false
end
end
|