Class: CircuitBreaker::CircuitState

Inherits:
Object
  • Object
show all
Includes:
AASM
Defined in:
lib/circuit_breaker/circuit_state.rb

Overview

CircuitState is created individually for each object, and keeps track of how the object is doing and whether the object’s circuit has tripped or not.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCircuitState

Returns a new instance of CircuitState.



41
42
43
44
# File 'lib/circuit_breaker/circuit_state.rb', line 41

def initialize()
  @failure_count = 0
  @last_failure_time = nil
end

Instance Attribute Details

#failure_countObject

Returns the value of attribute failure_count.



48
49
50
# File 'lib/circuit_breaker/circuit_state.rb', line 48

def failure_count
  @failure_count
end

#last_failure_timeObject

Returns the value of attribute last_failure_time.



46
47
48
# File 'lib/circuit_breaker/circuit_state.rb', line 46

def last_failure_time
  @last_failure_time
end

Instance Method Details

#increment_failure_countObject



50
51
52
53
# File 'lib/circuit_breaker/circuit_state.rb', line 50

def increment_failure_count
  @failure_count = @failure_count + 1
  @last_failure_time = Time.now
end

#reset_failure_countObject



55
56
57
# File 'lib/circuit_breaker/circuit_state.rb', line 55

def reset_failure_count
  @failure_count = 0
end