Class: Supervision::Configuration
- Inherits:
-
Object
- Object
- Supervision::Configuration
- Defined in:
- lib/supervision/configuration.rb
Overview
A class responsbile for the circuit configuration options
Constant Summary collapse
- DEFAULT_MAX_FAILURES =
5
- DEFAULT_CALL_TIMEOUT =
10.milli
- DEFAULT_RESET_TIMEOUT =
100.milli
Instance Method Summary collapse
- #call_timeout(time = nil) ⇒ Object
- #call_timeout=(value) ⇒ Object
-
#configure(&block) ⇒ self
Evalutate this configuration.
-
#initialize(options = {}) ⇒ Configuration
constructor
Create a Configuration options.
- #max_failures(number = nil) ⇒ Object
- #max_failures=(value) ⇒ Object
- #reset_timeout(time = nil) ⇒ Object
- #reset_timeout=(value) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Configuration
Create a Configuration options
15 16 17 18 19 20 21 22 23 |
# File 'lib/supervision/configuration.rb', line 15 def initialize( = {}) () @max_failures = Atomic.new(.fetch(:max_failures, DEFAULT_MAX_FAILURES)) @call_timeout = Atomic.new(.fetch(:call_timeout, DEFAULT_CALL_TIMEOUT)) @reset_timeout = Atomic.new(.fetch(:reset_timeout, DEFAULT_RESET_TIMEOUT)) end |
Instance Method Details
#call_timeout(time = nil) ⇒ Object
52 53 54 55 56 |
# File 'lib/supervision/configuration.rb', line 52 def call_timeout(time = nil) return @call_timeout.value unless time self.call_timeout = time end |
#call_timeout=(value) ⇒ Object
48 49 50 |
# File 'lib/supervision/configuration.rb', line 48 def call_timeout=(value) @call_timeout.set(value) end |
#configure(&block) ⇒ self
Evalutate this configuration
30 31 32 33 34 35 36 |
# File 'lib/supervision/configuration.rb', line 30 def configure(&block) if block.arity.zero? instance_eval(&block) else yield self end end |
#max_failures(number = nil) ⇒ Object
42 43 44 45 46 |
# File 'lib/supervision/configuration.rb', line 42 def max_failures(number = nil) return @max_failures.value unless number self.max_failures = number end |
#max_failures=(value) ⇒ Object
38 39 40 |
# File 'lib/supervision/configuration.rb', line 38 def max_failures=(value) @max_failures.set(value) end |
#reset_timeout(time = nil) ⇒ Object
62 63 64 65 66 |
# File 'lib/supervision/configuration.rb', line 62 def reset_timeout(time = nil) return @reset_timeout.value unless time self.reset_timeout = time end |
#reset_timeout=(value) ⇒ Object
58 59 60 |
# File 'lib/supervision/configuration.rb', line 58 def reset_timeout=(value) @reset_timeout.set(value) end |