class Semian::ProtectedResource

def acquire_circuit_breaker(scope, adapter, resource)

def acquire_circuit_breaker(scope, adapter, resource)
  if @circuit_breaker.nil?
    yield self
  else
    @circuit_breaker.acquire(resource) do
      yield self
    end
  end
rescue ::Semian::OpenCircuitError
  Semian.notify(:circuit_open, self, scope, adapter)
  raise
end