Module: Kredis::Types::Proxy::Failsafe

Included in:
Kredis::Types::Proxy
Defined in:
lib/kredis/types/proxy/failsafe.rb

Instance Method Summary collapse

Instance Method Details

#failsafeObject



7
8
9
10
11
# File 'lib/kredis/types/proxy/failsafe.rb', line 7

def failsafe
  yield
rescue Redis::BaseError
  raise if fail_safe_suppressed?
end

#initializeObject



2
3
4
5
# File 'lib/kredis/types/proxy/failsafe.rb', line 2

def initialize(*)
  super
  @fail_safe_suppressed = false
end

#suppress_failsafe_with(returning: nil) ⇒ Object



13
14
15
16
17
18
19
20
# 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