Class: CircuitBreaker::Memory
- Inherits:
-
Object
- Object
- CircuitBreaker::Memory
- Includes:
- CircuitBreaker
- Defined in:
- lib/circuit_breaker/memory.rb
Constant Summary
Constants included from CircuitBreaker
Instance Attribute Summary collapse
-
#circuit ⇒ Proc/Lambda
The main runner, must respond to #call.
-
#failure_limit ⇒ Integer
The count of failures.
-
#failures ⇒ Array<CircuitBreaker::Failure>
The current failures.
-
#logger ⇒ Object
The current logger.
-
#reset_timeout ⇒ Integer
The amount of time in seconds before a breaker should reset if currently open.
-
#state ⇒ Symbol
The current state.
Instance Method Summary collapse
-
#add_failure(failure) ⇒ Object
(look to add_failure).
-
#initialize {|circuit, failure_limit, reset_timeout, logger| ... } ⇒ CircuitBreaker::Memory
constructor
The object.
Methods included from CircuitBreaker
#call, #closed?, #failure_count, #half_open?, #open?
Constructor Details
#initialize {|circuit, failure_limit, reset_timeout, logger| ... } ⇒ CircuitBreaker::Memory
Returns the object.
37 38 39 40 41 42 43 44 45 |
# File 'lib/circuit_breaker/memory.rb', line 37 def initialize(&block) yield self @failure_limit ||= 5 @reset_timeout ||= 10 @logger ||= Logger.new(STDOUT) @state = :closed @failures = [] run_validations end |
Instance Attribute Details
#circuit ⇒ Proc/Lambda
The main runner, must respond to #call
7 8 9 |
# File 'lib/circuit_breaker/memory.rb', line 7 def circuit @circuit end |
#failure_limit ⇒ Integer
The count of failures
10 11 12 |
# File 'lib/circuit_breaker/memory.rb', line 10 def failure_limit @failure_limit end |
#failures ⇒ Array<CircuitBreaker::Failure>
The current failures
23 24 25 |
# File 'lib/circuit_breaker/memory.rb', line 23 def failures @failures end |
#logger ⇒ Object
The current logger
16 17 18 |
# File 'lib/circuit_breaker/memory.rb', line 16 def logger @logger end |
#reset_timeout ⇒ Integer
The amount of time in seconds before a breaker should reset if currently open. Defaults to 5
13 14 15 |
# File 'lib/circuit_breaker/memory.rb', line 13 def reset_timeout @reset_timeout end |
#state ⇒ Symbol
The current state
20 21 22 |
# File 'lib/circuit_breaker/memory.rb', line 20 def state @state end |
Instance Method Details
#add_failure(failure) ⇒ Object
(look to add_failure)
48 49 50 |
# File 'lib/circuit_breaker/memory.rb', line 48 def add_failure(failure) failures << failure end |