module Supervision::ClassMethods

Public Instance Methods

supervise(options = {}, &block) click to toggle source
# File lib/supervision.rb, line 80
def supervise(options = {}, &block)
  CircuitBreaker.new(options, &block)
end
supervise_as(name, options = {}, &block) click to toggle source
# File lib/supervision.rb, line 84
def supervise_as(name, options = {}, &block)
  circuit = supervise(options.merge!(name: name), &block)
  Supervision.circuit_system.register(name, circuit)
  send(:define_method, name) { |*args| circuit.call(args) }
  circuit
end