Sha256: 2901f5439053aa47d29ded6d41172cb245c249ced61dfb69e376f9d6094c3f33
Contents?: true
Size: 1.25 KB
Versions: 3
Compression:
Stored size: 1.25 KB
Contents
module Ecoportal module API class V1 class Job class Status attr_reader :id, :progress def initialize(id, complete, errored, progress) @id = id @complete = complete @errored = errored @progress = progress || 0 end def started? progress.positive? end def progressing?(prev) progress_increase(prev).positive? end def complete?(total = nil) return @complete if total.nil? progress >= total end def pending(total) return 1 unless total return 0 if total <= progress total - progress end def progress_increase(prev = 0) prev = prev.progress if prev.is_a?(self.class) prev ||= 0 progress - prev end def errored? @errored end def to_s msg = complete? ? "Completed" : "In progress" msg = "Errored" if errored? msg << " with #{progress} done." msg end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ecoportal-api-0.10.8 | lib/ecoportal/api/v1/job/status.rb |
ecoportal-api-0.10.7 | lib/ecoportal/api/v1/job/status.rb |
ecoportal-api-0.10.6 | lib/ecoportal/api/v1/job/status.rb |