Class: Twingly::Metrics::Gauge
- Inherits:
-
Object
- Object
- Twingly::Metrics::Gauge
- Defined in:
- lib/twingly/metrics/gauge.rb
Instance Method Summary collapse
-
#initialize(callable = nil, &block) ⇒ Gauge
constructor
Public: Initialize a new Gauge.
-
#set(val) ⇒ Object
Public: Set a new value.
-
#value ⇒ Object
Public: The current value.
Constructor Details
#initialize(callable = nil, &block) ⇒ Gauge
Public: Initialize a new Gauge.
9 10 11 12 |
# File 'lib/twingly/metrics/gauge.rb', line 9 def initialize(callable = nil, &block) @gauge = Atomic.new(nil) @callback = callable || block end |
Instance Method Details
#set(val) ⇒ Object
Public: Set a new value.
val - The new value.
Returns nothing.
19 20 21 |
# File 'lib/twingly/metrics/gauge.rb', line 19 def set(val) @gauge.value = val end |
#value ⇒ Object
Public: The current value.
Returns the gauge value.
26 27 28 |
# File 'lib/twingly/metrics/gauge.rb', line 26 def value @callback ? @callback.call : @gauge.value end |