Module: Supervision::ClassMethods

Included in:
Supervision
Defined in:
lib/supervision.rb

Instance Method Summary collapse

Instance Method Details

#supervise(options = {}, &block) ⇒ Object



80
81
82
# File 'lib/supervision.rb', line 80

def supervise(options = {}, &block)
  CircuitBreaker.new(options, &block)
end

#supervise_as(name, options = {}, &block) ⇒ Object



84
85
86
87
88
89
# 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