Sha256: a67199b1187778a70b8f6ef32c23abcf8227ec6d18d50406b462acc82f7c629d
Contents?: true
Size: 1.02 KB
Versions: 5
Compression:
Stored size: 1.02 KB
Contents
class Karousel class Job STATUS = { 1 => :init, 2 => :sent, 3 => :success, 4 => :failure } attr_reader :client_job def initialize(client_job) raise TypeError.new("Unknown client job type") unless client_job.is_a?(Karousel::ClientJob) @client_job = client_job @invert_status = STATUS.invert end def status @status = STATUS[@client_job.status] raise TypeError.new("status must be an integer between 1 and 4") unless @status @status end def status= (new_status) new_status = @invert_status[new_status] raise TypeError.new("Unknown status") unless new_status @client_job.status = new_status end def send is_ok = @client_job.send self.status = is_ok ? :sent : :failure is_ok end def finished? is_ok = @client_job.finished? self.status = is_ok ? :success : :failure is_ok end def process is_ok = @client_job.process self.status = is_ok ? :success : :failure is_ok end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
karousel-0.9.12 | lib/karousel/job.rb |
karousel-0.9.11 | lib/karousel/job.rb |
karousel-0.9.10 | lib/karousel/job.rb |
karousel-0.9.9 | lib/karousel/job.rb |
karousel-0.9.8 | lib/karousel/job.rb |