Class: BreakerMachines::CircuitGroup::DependencyWrapper
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- BreakerMachines::CircuitGroup::DependencyWrapper
- Defined in:
- lib/breaker_machines/circuit_group.rb
Overview
Wrapper to enforce dependencies
Instance Method Summary collapse
- #attempt_recovery! ⇒ Object
- #call ⇒ Object
-
#initialize(circuit, group, name) ⇒ DependencyWrapper
constructor
A new instance of DependencyWrapper.
- #reset! ⇒ Object
Constructor Details
#initialize(circuit, group, name) ⇒ DependencyWrapper
125 126 127 128 129 |
# File 'lib/breaker_machines/circuit_group.rb', line 125 def initialize(circuit, group, name) super(circuit) @group = group @name = name end |
Instance Method Details
#attempt_recovery! ⇒ Object
140 141 142 143 144 |
# File 'lib/breaker_machines/circuit_group.rb', line 140 def attempt_recovery! return false unless @group.dependencies_met?(@name) __getobj__.attempt_recovery! end |
#call ⇒ Object
131 132 133 134 135 136 137 138 |
# File 'lib/breaker_machines/circuit_group.rb', line 131 def call(&) unless @group.dependencies_met?(@name) raise BreakerMachines::CircuitDependencyError.new(__getobj__.name, "Dependencies not met for circuit #{@name}") end __getobj__.call(&) end |
#reset! ⇒ Object
146 147 148 149 150 |
# File 'lib/breaker_machines/circuit_group.rb', line 146 def reset! return false unless @group.dependencies_met?(@name) __getobj__.reset! end |