Class: Chantier::FailurePolicies::MutexWrapper
- Inherits:
-
Object
- Object
- Chantier::FailurePolicies::MutexWrapper
- Defined in:
- lib/failure_policies.rb
Overview
Wraps a FailurePolicy-compatible object in a Mutex for all method calls.
Instance Method Summary collapse
- #arm! ⇒ Object
- #failure! ⇒ Object
-
#initialize(failure_policy) ⇒ MutexWrapper
constructor
A new instance of MutexWrapper.
- #limit_reached? ⇒ Boolean
- #success! ⇒ Object
Constructor Details
#initialize(failure_policy) ⇒ MutexWrapper
Returns a new instance of MutexWrapper.
147 148 149 150 |
# File 'lib/failure_policies.rb', line 147 def initialize(failure_policy) @policy = failure_policy @mutex = Mutex.new end |
Instance Method Details
#arm! ⇒ Object
152 153 154 |
# File 'lib/failure_policies.rb', line 152 def arm! @mutex.synchronize { @policy.arm! } end |
#failure! ⇒ Object
160 161 162 |
# File 'lib/failure_policies.rb', line 160 def failure! @mutex.synchronize { @policy.failure! } end |
#limit_reached? ⇒ Boolean
164 165 166 |
# File 'lib/failure_policies.rb', line 164 def limit_reached? @mutex.synchronize { @policy.limit_reached? } end |
#success! ⇒ Object
156 157 158 |
# File 'lib/failure_policies.rb', line 156 def success! @mutex.synchronize { @policy.success! } end |