我有一种方法,我已经开始在多个模型中使用,用于web垃圾处理,在哪里保存它最好?我应该把它放在应用程序控制器,应用程序助手中吗?我不知道放在哪里好让多个模特使用?
def self.retryable(options = {}, &block)
opts = { :tries => 1, :on => Exception }.merge(options)
retry_exception, retries = opts[:on], opts[:tries]
begin
return yield
rescue retry_exception
retry if (retries -= 1) > 0
end
yield
end
最佳答案
将retryable.rb放入lib/
module Retryable
extend self
def retryable(options = {}, &block) # no self required
...
end
end
使用它:
Retryable.retryable { ... }
或包含命名空间:
include Retryable
retryable { ... }