Class: BreakerMachines::Storage::Null

Inherits:
Base
  • Object
show all
Defined in:
lib/breaker_machines/storage/null.rb

Overview

A no-op storage backend for minimal overhead Use this when you don’t need event logging or metrics

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from BreakerMachines::Storage::Base

Instance Method Details

#clear(_circuit_name) ⇒ Object



32
33
34
# File 'lib/breaker_machines/storage/null.rb', line 32

def clear(_circuit_name)
  # No-op
end

#clear_allObject



44
45
46
# File 'lib/breaker_machines/storage/null.rb', line 44

def clear_all
  # No-op
end

#event_log(_circuit_name, _limit = 20) ⇒ Object



36
37
38
# File 'lib/breaker_machines/storage/null.rb', line 36

def event_log(_circuit_name, _limit = 20)
  []
end

#failure_count(_circuit_name, _window = nil) ⇒ Object



20
21
22
# File 'lib/breaker_machines/storage/null.rb', line 20

def failure_count(_circuit_name, _window = nil)
  0
end

#get_status(_circuit_name) ⇒ Object



24
25
26
# File 'lib/breaker_machines/storage/null.rb', line 24

def get_status(_circuit_name)
  nil
end

#record_event_with_details(_circuit_name, _event_type, _duration, _metadata = {}) ⇒ Object



40
41
42
# File 'lib/breaker_machines/storage/null.rb', line 40

def record_event_with_details(_circuit_name, _event_type, _duration,  = {})
  # No-op
end

#record_failure(_circuit_name, _duration = nil) ⇒ Object



12
13
14
# File 'lib/breaker_machines/storage/null.rb', line 12

def record_failure(_circuit_name, _duration = nil)
  # No-op
end

#record_success(_circuit_name, _duration = nil) ⇒ Object



8
9
10
# File 'lib/breaker_machines/storage/null.rb', line 8

def record_success(_circuit_name, _duration = nil)
  # No-op
end

#set_status(_circuit_name, _status, _opened_at = nil) ⇒ Object



28
29
30
# File 'lib/breaker_machines/storage/null.rb', line 28

def set_status(_circuit_name, _status, _opened_at = nil)
  # No-op
end

#success_count(_circuit_name, _window = nil) ⇒ Object



16
17
18
# File 'lib/breaker_machines/storage/null.rb', line 16

def success_count(_circuit_name, _window = nil)
  0
end

#with_timeout(_timeout_ms) ⇒ Object



48
49
50
51
# File 'lib/breaker_machines/storage/null.rb', line 48

def with_timeout(_timeout_ms)
  # Null storage always succeeds instantly - perfect for fail-open scenarios
  yield
end