module Kredis::Types::Proxy::Failsafe

Public Class Methods

new(*) click to toggle source
Calls superclass method
# File lib/kredis/types/proxy/failsafe.rb, line 2
def initialize(*)
  super
  @fail_safe_suppressed = false
end

Public Instance Methods

failsafe() { || ... } click to toggle source
# File lib/kredis/types/proxy/failsafe.rb, line 7
def failsafe
  yield
rescue Redis::BaseError
  raise if fail_safe_suppressed?
end
suppress_failsafe_with(returning: nil) { || ... } click to toggle source
# File lib/kredis/types/proxy/failsafe.rb, line 13
def suppress_failsafe_with(returning: nil)
  old_fail_safe_suppressed, @fail_safe_suppressed = @fail_safe_suppressed, true
  yield
rescue Redis::BaseError
  returning
ensure
  @fail_safe_suppressed = old_fail_safe_suppressed
end

Private Instance Methods

fail_safe_suppressed?() click to toggle source
# File lib/kredis/types/proxy/failsafe.rb, line 23
def fail_safe_suppressed?
  @fail_safe_suppressed
end