Sha256: dde12bce251440fdd1f65a7101938420de83e962eaa2287851e1815c49f78ebf
Contents?: true
Size: 1.49 KB
Versions: 3
Compression:
Stored size: 1.49 KB
Contents
module CloudCrowd # Adds named scopes and query methods for every CloudCrowd status to # both Jobs and WorkUnits. module ModelStatus def self.included(klass) klass.class_eval do # Note that COMPLETE and INCOMPLETE are unions of other states. named_scope 'processing', :conditions => {:status => PROCESSING} named_scope 'succeeded', :conditions => {:status => SUCCEEDED} named_scope 'failed', :conditions => {:status => FAILED} named_scope 'splitting', :conditions => {:status => SPLITTING} named_scope 'merging', :conditions => {:status => MERGING} named_scope 'complete', :conditions => {:status => COMPLETE} named_scope 'incomplete', :conditions => {:status => INCOMPLETE} end end def processing?; self.status == PROCESSING; end def succeeded?; self.status == SUCCEEDED; end def failed?; self.status == FAILED; end def splitting?; self.status == SPLITTING; end def merging?; self.status == MERGING; end def complete?; COMPLETE.include?(self.status); end def incomplete?; INCOMPLETE.include?(self.status); end # Get the displayable status name of the model's status code. def display_status CloudCrowd.display_status(self.status) end end end require 'cloud_crowd/models/job' require 'cloud_crowd/models/work_unit' require 'cloud_crowd/models/worker_record'
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
documentcloud-cloud-crowd-0.0.6 | lib/cloud_crowd/models.rb |
documentcloud-cloud-crowd-0.1.0 | lib/cloud_crowd/models.rb |
cloud-crowd-0.1.0 | lib/cloud_crowd/models.rb |