Module: Rescue::Retry

Defined in:
lib/rescue/retry.rb,
lib/rescue/version.rb

Constant Summary collapse

VERSION =
"0.1.2"

Instance Method Summary collapse

Instance Method Details

#rescue_retry(method, errors, options = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/rescue/retry.rb', line 6

def rescue_retry(method, errors, options = {})
  proxy = Module.new do
    define_method(method) do |*args|
      Handler.new(
        {
          errors: Array(errors),
          logger: respond_to?(:logger) ? logger : nil
        }.merge(options)
      ).call do
        super *args
      end
    end
  end
  self.prepend proxy
end