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.
148 149 150 151 |
# File 'lib/failure_policies.rb', line 148 def initialize(failure_policy) @policy = failure_policy @mutex = Mutex.new end |
Instance Method Details
#arm! ⇒ Object
153 154 155 |
# File 'lib/failure_policies.rb', line 153 def arm! @mutex.synchronize { @policy.arm! } end |
#failure! ⇒ Object
161 162 163 |
# File 'lib/failure_policies.rb', line 161 def failure! @mutex.synchronize { @policy.failure! } end |
#limit_reached? ⇒ Boolean
165 166 167 |
# File 'lib/failure_policies.rb', line 165 def limit_reached? @mutex.synchronize { @policy.limit_reached? } end |
#success! ⇒ Object
157 158 159 |
# File 'lib/failure_policies.rb', line 157 def success! @mutex.synchronize { @policy.success! } end |