class ActiveJob::Status::Progress

Attributes

job[R]
progress[R]
total[R]

Public Class Methods

new(job) click to toggle source
# File lib/activejob-status/progress.rb, line 9
def initialize(job)
  @job      = job
  @total    = 100
  @progress = 0
end

Public Instance Methods

decrement(num = 1) click to toggle source
# File lib/activejob-status/progress.rb, line 28
def decrement(num = 1)
  update { @progress - num }
end
finish() click to toggle source
# File lib/activejob-status/progress.rb, line 32
def finish
  update { @total }
end
increment(num = 1) click to toggle source
# File lib/activejob-status/progress.rb, line 24
def increment(num = 1)
  update { @progress + num }
end
progress=(num) click to toggle source
# File lib/activejob-status/progress.rb, line 20
def progress=(num)
  update { num }
end
to_h() click to toggle source
# File lib/activejob-status/progress.rb, line 36
def to_h
  { progress: @progress, total: @total }
end
total=(num) click to toggle source
# File lib/activejob-status/progress.rb, line 15
def total=(num)
  @total = num
  update
end

Private Instance Methods

update() { || ... } click to toggle source
# File lib/activejob-status/progress.rb, line 42
def update
  @progress = yield if block_given?
  job_status.update(to_h)
  self
end