class Message::Filters::RetryOnError
Attributes
on[RW]
sleep[RW]
tries[RW]
Public Class Methods
new()
click to toggle source
# File lib/message/filters/retry_on_error.rb, line 5 def initialize @tries = 3 @on = StandardError @sleep = 0.001 end
Public Instance Methods
call(filter, _, _)
click to toggle source
# File lib/message/filters/retry_on_error.rb, line 11 def call(filter, _, _) lambda do |arg| @try = 0 begin filter.call(arg) rescue self.on => e @try += 1 if @try < self.tries Kernel.sleep self.sleep.to_f retry end raise end end end