Sha256: 248f1b3b2ef3cf251abc9fbdf20b48182170297c4e219be31b75e9f6a8ce8b97

Contents?: true

Size: 822 Bytes

Versions: 7

Compression:

Stored size: 822 Bytes

Contents

module Toro
  class Job < ActiveRecord::Base
    if ActiveRecord::VERSION::MAJOR < 4 || ActiveRecord.constants.include?(:MassAssignmentSecurity)
      attr_accessible :queue, :class_name, :args, :name, :created_at, :scheduled_at, :started_at, :finished_at,
        :status, :started_by, :properties
    end

    serialize :args
    serialize :properties, ActiveRecord::Coders::NestedHstore

    self.table_name_prefix = 'toro_'
    
    STATUSES = [
      'queued',
      'running',
      'complete',
      'failed',
      'scheduled'
    ]

    class << self
      def statuses
        STATUSES
      end
    end

    def set_properties(hash)
      self.properties ||= {}
      hash.each do |key, value|
        self.properties[key.to_s] = value
      end
    end

    def to_s
      "Toro::Job ##{id}"
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
toro-0.2.2 lib/toro/job.rb
toro-0.2.1 lib/toro/job.rb
toro-0.2.0 lib/toro/job.rb
toro-0.1.1 lib/toro/job.rb
toro-0.1.0 lib/toro/job.rb
toro-0.0.3 lib/toro/job.rb
toro-0.0.2 lib/toro/job.rb