class Chantier::FailurePolicies::MutexWrapper

Wraps a FailurePolicy-compatible object in a Mutex for all method calls.

Public Class Methods

new(failure_policy) click to toggle source
# File lib/failure_policies.rb, line 148
def initialize(failure_policy)
  @policy = failure_policy
  @mutex = Mutex.new
end

Public Instance Methods

arm!() click to toggle source
# File lib/failure_policies.rb, line 153
def arm!
  @mutex.synchronize { @policy.arm! }
end
failure!() click to toggle source
# File lib/failure_policies.rb, line 161
def failure!
  @mutex.synchronize { @policy.failure! }
end
limit_reached?() click to toggle source
# File lib/failure_policies.rb, line 165
def limit_reached?
  @mutex.synchronize { @policy.limit_reached? }
end
success!() click to toggle source
# File lib/failure_policies.rb, line 157
def success!
  @mutex.synchronize { @policy.success! }
end