class DitoUtils::MethodRetry
Public Class Methods
new(sleep_time, retries = 10)
click to toggle source
# File lib/dito_utils.rb, line 5 def initialize(sleep_time, retries = 10) @sleep_time = sleep_time @retries = retries @error_count = 0 end
Public Instance Methods
retry(error_class) { || ... }
click to toggle source
# File lib/dito_utils.rb, line 11 def retry(error_class) while @error_count < @retries begin return yield rescue *error_class => e sleep(@sleep_time) increment_error_count raise e if last_try? end end end
Private Instance Methods
increment_error_count()
click to toggle source
# File lib/dito_utils.rb, line 25 def increment_error_count @error_count += 1 end
last_try?()
click to toggle source
# File lib/dito_utils.rb, line 29 def last_try? @error_count == @retries end