4

我想在延迟作业模型中添加一些自定义方法。

我想要一些额外的东西,比如......

def status
  return "errored" unless self.last_error.blank?
  return "waiting" if self.locked_at.blank?
  return "running" unless self.locked_at.blank?
  return "blerg" if some.other.things...
end

...关于延迟的工作课程。

我只是想知道如何以这种方式扩展它。

谢谢!

4

1 回答 1

3

是类Delayed::Job吗?您可以在 ruby​​ 中通过几种方式向类添加方法,但可能最简单的方法是:

config/initializers/delayed_job.rb

class Delayed::Job
  def status
    return "errored" unless self.last_error.blank?
    return "waiting" if self.locked_at.blank?
    return "running" unless self.locked_at.blank?
    return "blerg" if some.other.things...
  end
end

虽然这看起来像是覆盖了类,但实际上它只是在类已经加载的情况下添加了方法。

于 2013-03-22T21:05:53.033 回答