Class: Faulty::Storage::CircuitProxy::Options
- Inherits:
-
Struct
- Object
- Struct
- Faulty::Storage::CircuitProxy::Options
- Includes:
- ImmutableOptions
- Defined in:
- lib/faulty/storage/circuit_proxy.rb
Overview
Options for Faulty::Storage::CircuitProxy
Instance Attribute Summary collapse
-
#circuit ⇒ Circuit
readonly
A replacement for the internal circuit.
-
#notifier ⇒ Events::Notifier
readonly
A Faulty notifier to use for circuit notifications.
Instance Method Summary collapse
Methods included from ImmutableOptions
#defaults, #dup_with, #initialize, #required, #setup
Instance Attribute Details
#circuit ⇒ Circuit (readonly)
Returns A replacement for the internal circuit. When modifying this, be careful to use only a reliable storage backend so that you don't introduce cascading failures.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/faulty/storage/circuit_proxy.rb', line 23 Options = Struct.new( :circuit, :notifier ) do include ImmutableOptions def finalize raise ArgumentError, 'The circuit or notifier option must be given' unless notifier || circuit self.circuit ||= Circuit.new( Faulty::Storage::CircuitProxy.name, notifier: Events::FilterNotifier.new(notifier, exclude: %i[circuit_success]), cache: Cache::Null.new ) end end |
#notifier ⇒ Events::Notifier (readonly)
Returns A Faulty notifier to use for circuit
notifications. If circuit
is given, this is ignored.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/faulty/storage/circuit_proxy.rb', line 23 Options = Struct.new( :circuit, :notifier ) do include ImmutableOptions def finalize raise ArgumentError, 'The circuit or notifier option must be given' unless notifier || circuit self.circuit ||= Circuit.new( Faulty::Storage::CircuitProxy.name, notifier: Events::FilterNotifier.new(notifier, exclude: %i[circuit_success]), cache: Cache::Null.new ) end end |
Instance Method Details
#finalize ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/faulty/storage/circuit_proxy.rb', line 29 def finalize raise ArgumentError, 'The circuit or notifier option must be given' unless notifier || circuit self.circuit ||= Circuit.new( Faulty::Storage::CircuitProxy.name, notifier: Events::FilterNotifier.new(notifier, exclude: %i[circuit_success]), cache: Cache::Null.new ) end |