module Hiatus::Mixin::ClassMethods
Public Instance Methods
_circuit_factory_()
click to toggle source
# File lib/hiatus/mixin.rb, line 25 def _circuit_factory_; @circuit_factory; end
circuit_break(method)
click to toggle source
# File lib/hiatus/mixin.rb, line 27 def circuit_break(method) raise NoCircuitFactoryProvided unless @circuit_factory unbounded_method_to_decorate = instance_method method define_method method do |*args, &block| @_circuit_breaker_ ||= self.class._circuit_factory_[] @_circuit_breaker_.run do unbounded_method_to_decorate.bind(self)[*args, &block] end end define_method :circuit_breaker do @_circuit_breaker_ end private :circuit_breaker end
Also aliased as: circuit_protected
circuit_factory(callable)
click to toggle source
# File lib/hiatus/mixin.rb, line 21 def circuit_factory(callable) @circuit_factory = callable || Hiatus::Mixin.default_circuit_factory end