class Karousel::Job
Implements a job to be placed on karousel
Attributes
client_job[R]
Public Class Methods
new(client_job)
click to toggle source
STATUS = { init: 1, sent: 2, success: 3, failure: 4 }
# File lib/karousel/job.rb, line 9 def initialize(client_job) unless client_job.is_a?(Karousel::ClientJob) raise(TypeError, 'Unknown client job type') end @client_job = client_job end
Public Instance Methods
finished?()
click to toggle source
# File lib/karousel/job.rb, line 37 def finished? @client_job.finished? end
process()
click to toggle source
# File lib/karousel/job.rb, line 41 def process is_ok = @client_job.process self.status = (is_ok ? STATUS[:success] : STATUS[:failure]) is_ok end
send()
click to toggle source
# File lib/karousel/job.rb, line 31 def send is_ok = @client_job.send self.status = (is_ok ? STATUS[:sent] : STATUS[:failure]) is_ok end
status()
click to toggle source
# File lib/karousel/job.rb, line 16 def status @status = @client_job.status unless [1, 2, 3, 4].include?(@status) raise(TypeError, 'Status must be an integer between 1 and 4') end @status end
status=(new_status)
click to toggle source
# File lib/karousel/job.rb, line 24 def status=(new_status) unless [1, 2, 3, 4].include?(new_status) raise(TypeError, 'Status must be an integer between 1 and 4') end @client_job.status = new_status end